1997-09-16 01:07:48 +00:00
|
|
|
#
|
|
|
|
# target.make
|
|
|
|
#
|
1997-10-17 00:55:41 +00:00
|
|
|
# Determine target specific settings
|
1997-09-16 01:07:48 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 1997 Free Software Foundation, Inc.
|
|
|
|
#
|
|
|
|
# Author: Scott Christley <scottc@net-community.com>
|
1997-10-06 03:58:06 +00:00
|
|
|
# Author: Ovidiu Predescu <ovidiu@net-community.com>
|
1997-09-16 01:07:48 +00:00
|
|
|
#
|
|
|
|
# This file is part of the GNUstep Makefile Package.
|
|
|
|
#
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public
|
|
|
|
# License along with this library; see the file COPYING.LIB.
|
|
|
|
# If not, write to the Free Software Foundation,
|
|
|
|
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
1997-10-02 23:05:46 +00:00
|
|
|
#
|
|
|
|
# Determine the environment variable name used by the dynamic loader
|
|
|
|
#
|
|
|
|
LD_LIB_PATH := $(shell $(LD_LIB_PATH_SCRIPT) $(GNUSTEP_HOST_OS))
|
|
|
|
|
1997-09-18 01:36:07 +00:00
|
|
|
#
|
|
|
|
# Host and target specific settings
|
|
|
|
#
|
1997-09-25 01:23:17 +00:00
|
|
|
ifeq ($(findstring solaris, $(GNUSTEP_TARGET_OS)), solaris)
|
1997-09-18 01:36:07 +00:00
|
|
|
X_INCLUDES := $(X_INCLUDES)/X11
|
|
|
|
endif
|
1997-09-16 01:07:48 +00:00
|
|
|
|
1997-09-18 01:36:07 +00:00
|
|
|
#
|
|
|
|
# Target specific libraries
|
|
|
|
#
|
|
|
|
ifeq ($(GNUSTEP_TARGET_OS),linux-gnu)
|
1997-10-30 22:43:44 +00:00
|
|
|
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -ldl -lm
|
1997-09-26 20:44:59 +00:00
|
|
|
endif
|
1997-09-25 01:23:17 +00:00
|
|
|
ifeq ($(findstring solaris, $(GNUSTEP_TARGET_OS)), solaris)
|
1997-10-30 22:43:44 +00:00
|
|
|
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lsocket -lnsl -ldl -lm
|
1997-09-25 01:23:17 +00:00
|
|
|
endif
|
1998-02-04 15:50:57 +00:00
|
|
|
ifeq ($(findstring irix, $(GNUSTEP_TARGET_OS)), irix)
|
|
|
|
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lm
|
|
|
|
endif
|
1997-09-23 01:27:32 +00:00
|
|
|
|
|
|
|
#
|
1997-09-30 21:54:33 +00:00
|
|
|
# Specific settings for building shared libraries, static libraries,
|
|
|
|
# and bundles on various systems
|
1997-09-23 01:27:32 +00:00
|
|
|
#
|
|
|
|
HAVE_SHARED_LIBS = no
|
1997-09-26 01:16:38 +00:00
|
|
|
STATIC_LIB_LINK_CMD = \
|
1997-10-21 14:16:26 +00:00
|
|
|
$(AR) $(ARFLAGS) $(AROUT)$(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE) $^;\
|
1997-10-31 13:10:43 +00:00
|
|
|
$(RANLIB) $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE)
|
1997-09-26 01:16:38 +00:00
|
|
|
AFTER_INSTALL_STATIC_LIB_COMMAND = \
|
1997-10-31 13:10:43 +00:00
|
|
|
(cd $(GNUSTEP_LIBRARIES); $(RANLIB) $(VERSION_LIBRARY_FILE))
|
1997-09-23 01:27:32 +00:00
|
|
|
SHARED_LIB_LINK_CMD =
|
|
|
|
SHARED_CFLAGS =
|
|
|
|
SHARE_LIBEXT =
|
1997-09-26 01:16:38 +00:00
|
|
|
AFTER_INSTALL_SHARED_LIB_COMMAND = \
|
|
|
|
(cd $(GNUSTEP_LIBRARIES); \
|
|
|
|
rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
1997-09-30 21:54:33 +00:00
|
|
|
HAVE_BUNDLES = no
|
1997-09-26 01:16:38 +00:00
|
|
|
|
1998-01-11 21:59:31 +00:00
|
|
|
####################################################
|
|
|
|
#
|
|
|
|
# Start of system specific settings
|
|
|
|
#
|
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
|
1998-01-11 21:59:31 +00:00
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
#
|
|
|
|
# OpenStep 4.x
|
|
|
|
#
|
|
|
|
ifeq ($(GNUSTEP_TARGET_OS), nextstep4)
|
1997-10-25 03:53:00 +00:00
|
|
|
ifeq ($(OBJC_RUNTIME), NeXT)
|
1997-09-30 21:54:33 +00:00
|
|
|
HAVE_BUNDLES = yes
|
1997-10-25 03:53:00 +00:00
|
|
|
endif
|
|
|
|
|
1997-09-23 01:27:32 +00:00
|
|
|
HAVE_SHARED_LIBS = yes
|
1997-10-07 23:27:51 +00:00
|
|
|
|
1997-10-14 22:54:35 +00:00
|
|
|
ifeq ($(FOUNDATION_LIB),nx)
|
1997-10-28 02:34:11 +00:00
|
|
|
# Use the NeXT compiler
|
|
|
|
CC = cc
|
|
|
|
OBJC_COMPILER = NeXT
|
|
|
|
ifneq ($(arch),)
|
|
|
|
ARCH_FLAGS = $(foreach a, $(arch), -arch $(a))
|
|
|
|
INTERNAL_OBJCFLAGS += $(ARCH_FLAGS)
|
|
|
|
INTERNAL_CFLAGS += $(ARCH_FLAGS)
|
|
|
|
INTERNAL_LDFLAGS += $(ARCH_FLAGS)
|
|
|
|
endif
|
1997-10-14 22:54:35 +00:00
|
|
|
endif
|
|
|
|
|
1997-10-07 23:27:51 +00:00
|
|
|
TARGET_LIB_DIR = \
|
|
|
|
Libraries/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
|
|
|
|
|
1997-10-14 22:54:35 +00:00
|
|
|
ifneq ($(OBJC_COMPILER), NeXT)
|
1997-09-23 01:27:32 +00:00
|
|
|
SHARED_LIB_LINK_CMD = \
|
1998-02-04 08:33:17 +00:00
|
|
|
/bin/libtool -dynamic -read_only_relocs suppress $(ARCH_FLAGS) -o $@ \
|
1998-01-11 21:59:31 +00:00
|
|
|
-framework System \
|
|
|
|
$(ALL_LIB_DIRS) \
|
1998-02-04 08:33:17 +00:00
|
|
|
$(LIBRARIES_DEPEND_UPON) $(LIBRARIES_FOUNDATION_DEPEND_UPON) \
|
|
|
|
-lobjc -lgcc $^; \
|
1998-01-11 21:59:31 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
|
|
|
else
|
|
|
|
SHARED_LIB_LINK_CMD = \
|
|
|
|
/bin/libtool -dynamic -read_only_relocs suppress $(ARCH_FLAGS) \
|
|
|
|
$(ALL_LDFLAGS) $@ \
|
|
|
|
-framework System \
|
1998-02-04 08:33:17 +00:00
|
|
|
$(ALL_LIB_DIRS) $(LIBRARIES_DEPEND_UPON) \
|
|
|
|
$(LIBRARIES_FOUNDATION_DEPEND_UPON) $^; \
|
1998-01-11 21:59:31 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
|
|
|
endif
|
|
|
|
|
|
|
|
STATIC_LIB_LINK_CMD = \
|
|
|
|
/bin/libtool -static $(ARCH_FLAGS) -o $@ $^
|
|
|
|
|
|
|
|
ADDITIONAL_LDFLAGS += -Wl,-read_only_relocs,suppress
|
|
|
|
|
|
|
|
AFTER_INSTALL_STATIC_LIB_COMMAND =
|
|
|
|
|
|
|
|
SHARED_CFLAGS += -dynamic
|
|
|
|
SHARED_LIBEXT = .a
|
|
|
|
|
|
|
|
ifneq ($(OBJC_COMPILER), NeXT)
|
|
|
|
TARGET_SYSTEM_LIBS += $(CONFIG_SYSTEM_LIBS) -lgcc
|
|
|
|
endif
|
|
|
|
|
|
|
|
BUNDLE_LD = ld
|
|
|
|
BUNDLE_CFLAGS +=
|
|
|
|
BUNDLE_LDFLAGS += -r $(ARCH_FLAGS)
|
|
|
|
endif
|
|
|
|
#
|
|
|
|
# end OpenStep 4.x
|
|
|
|
#
|
|
|
|
####################################################
|
|
|
|
|
|
|
|
####################################################
|
|
|
|
#
|
|
|
|
# NEXTSTEP 3.x
|
|
|
|
#
|
|
|
|
ifeq ($(GNUSTEP_TARGET_OS), nextstep3)
|
|
|
|
ifeq ($(OBJC_RUNTIME), NeXT)
|
|
|
|
HAVE_BUNDLES = yes
|
|
|
|
endif
|
|
|
|
|
|
|
|
HAVE_SHARED_LIBS = yes
|
|
|
|
|
|
|
|
ifeq ($(FOUNDATION_LIB),nx)
|
|
|
|
# Use the NeXT compiler
|
|
|
|
CC = cc
|
|
|
|
OBJC_COMPILER = NeXT
|
|
|
|
ifneq ($(arch),)
|
|
|
|
ARCH_FLAGS = $(foreach a, $(arch), -arch $(a))
|
|
|
|
INTERNAL_OBJCFLAGS += $(ARCH_FLAGS)
|
|
|
|
INTERNAL_CFLAGS += $(ARCH_FLAGS)
|
|
|
|
INTERNAL_LDFLAGS += $(ARCH_FLAGS)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
TARGET_LIB_DIR = \
|
|
|
|
Libraries/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
|
|
|
|
|
|
|
|
ifneq ($(OBJC_COMPILER), NeXT)
|
|
|
|
SHARED_LIB_LINK_CMD = \
|
|
|
|
/bin/libtool -dynamic -read_only_relocs suppress
|
|
|
|
$(ARCH_FLAGS) -o $@ -framework System \
|
|
|
|
$(GNUSTEP_USER_TARGET_LIBRARIES_FLAG) \
|
|
|
|
$(GNUSTEP_LOCAL_TARGET_LIBRARIES_FLAG) \
|
|
|
|
-L$(GNUSTEP_SYSTEM_TARGET_LIBRARIES) \
|
1997-10-22 00:52:17 +00:00
|
|
|
$(ADDITIONAL_LIB_DIRS) \
|
1998-01-09 22:05:03 +00:00
|
|
|
$(LIBRARIES_DEPEND_UPON) -lobjc -lgcc -undefined warning $^; \
|
1997-10-07 23:27:51 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
1997-10-14 22:54:35 +00:00
|
|
|
else
|
|
|
|
SHARED_LIB_LINK_CMD = \
|
1997-10-28 02:34:11 +00:00
|
|
|
/bin/libtool -dynamic -read_only_relocs suppress $(ARCH_FLAGS) -o $@ \
|
1997-10-14 22:54:35 +00:00
|
|
|
-framework System \
|
1998-01-11 21:59:31 +00:00
|
|
|
$(GNUSTEP_USER_TARGET_LIBRARIES_FLAG) \
|
|
|
|
$(GNUSTEP_LOCAL_TARGET_LIBRARIES_FLAG) \
|
|
|
|
-L$(GNUSTEP_SYSTEM_TARGET_LIBRARIES) \
|
1997-11-13 03:18:16 +00:00
|
|
|
$(ADDITIONAL_LIB_DIRS) $(LIBRARIES_DEPEND_UPON) $^; \
|
1997-10-14 22:54:35 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
|
|
|
endif
|
1997-10-07 23:27:51 +00:00
|
|
|
|
|
|
|
STATIC_LIB_LINK_CMD = \
|
1997-10-31 13:10:43 +00:00
|
|
|
/bin/libtool -static $(ARCH_FLAGS) -o $@ $^
|
1997-10-02 00:41:03 +00:00
|
|
|
|
1997-10-07 23:27:51 +00:00
|
|
|
ADDITIONAL_LDFLAGS += -Wl,-read_only_relocs,suppress
|
1997-09-26 01:16:38 +00:00
|
|
|
|
|
|
|
AFTER_INSTALL_STATIC_LIB_COMMAND =
|
1997-09-23 01:27:32 +00:00
|
|
|
|
1997-09-30 21:54:33 +00:00
|
|
|
SHARED_CFLAGS += -dynamic
|
1997-10-05 06:28:05 +00:00
|
|
|
SHARED_LIBEXT = .a
|
|
|
|
|
1997-10-14 22:54:35 +00:00
|
|
|
ifneq ($(OBJC_COMPILER), NeXT)
|
1997-10-30 22:43:44 +00:00
|
|
|
TARGET_SYSTEM_LIBS += $(CONFIG_SYSTEM_LIBS) -lgcc
|
1997-10-14 22:54:35 +00:00
|
|
|
endif
|
1997-09-30 21:54:33 +00:00
|
|
|
|
1997-10-25 03:53:00 +00:00
|
|
|
BUNDLE_LD = ld
|
|
|
|
BUNDLE_CFLAGS +=
|
1997-10-28 02:34:11 +00:00
|
|
|
BUNDLE_LDFLAGS += -r $(ARCH_FLAGS)
|
1997-09-23 01:27:32 +00:00
|
|
|
endif
|
1998-01-11 21:59:31 +00:00
|
|
|
#
|
|
|
|
# end NEXTSTEP 3.x
|
|
|
|
#
|
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
|
1998-01-11 21:59:31 +00:00
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
#
|
|
|
|
# Linux ELF
|
|
|
|
#
|
|
|
|
ifeq ($(GNUSTEP_TARGET_OS), linux-gnu)
|
|
|
|
HAVE_SHARED_LIBS = yes
|
|
|
|
SHARED_LIB_LINK_CMD = \
|
1997-09-26 01:16:38 +00:00
|
|
|
$(CC) -shared -W,l,soname=$(LIBRARY_FILE) \
|
|
|
|
-o $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE) $^ ;\
|
1997-09-23 01:27:32 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); \
|
1997-09-26 01:16:38 +00:00
|
|
|
rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
1997-09-23 01:27:32 +00:00
|
|
|
|
1997-09-30 21:54:33 +00:00
|
|
|
SHARED_CFLAGS += -fPIC
|
1997-09-23 01:27:32 +00:00
|
|
|
SHARED_LIBEXT = .so
|
1997-09-30 21:54:33 +00:00
|
|
|
|
|
|
|
HAVE_BUNDLES = yes
|
1997-10-25 03:53:00 +00:00
|
|
|
BUNDLE_LD = gcc
|
1997-09-30 21:54:33 +00:00
|
|
|
BUNDLE_CFLAGS += -fPIC
|
|
|
|
BUNDLE_LDFLAGS += -shared
|
1997-09-23 01:27:32 +00:00
|
|
|
endif
|
1998-01-11 21:59:31 +00:00
|
|
|
#
|
|
|
|
# end Linux ELF
|
|
|
|
#
|
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
|
|
|
|
|
1998-01-11 21:59:31 +00:00
|
|
|
####################################################
|
1997-09-23 01:27:32 +00:00
|
|
|
#
|
|
|
|
# Solaris
|
|
|
|
#
|
|
|
|
ifeq ($(findstring solaris, $(GNUSTEP_TARGET_OS)), solaris)
|
|
|
|
HAVE_SHARED_LIBS = yes
|
|
|
|
SHARED_LIB_LINK_CMD = \
|
1997-09-26 01:16:38 +00:00
|
|
|
$(CC) -G -o $(VERSION_LIBRARY_FILE) $^ ;\
|
|
|
|
mv $(VERSION_LIBRARY_FILE) $(GNUSTEP_OBJ_DIR) ;\
|
1997-09-25 01:23:17 +00:00
|
|
|
(cd $(GNUSTEP_OBJ_DIR); \
|
1997-09-26 01:16:38 +00:00
|
|
|
rm -f $(LIBRARY_FILE); \
|
|
|
|
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
|
1997-09-23 01:27:32 +00:00
|
|
|
|
|
|
|
SHARED_CFLAGS += -fpic -fPIC
|
1997-09-25 01:23:17 +00:00
|
|
|
SHARED_LIBEXT = .so
|
1997-09-30 21:54:33 +00:00
|
|
|
|
|
|
|
HAVE_BUNDLES = yes
|
1997-10-25 03:53:00 +00:00
|
|
|
BUNDLE_LD = gcc
|
1997-09-30 21:54:33 +00:00
|
|
|
BUNDLE_CFLAGS += -fPIC
|
1998-01-30 23:59:17 +00:00
|
|
|
#BUNDLE_LDFLAGS += -shared -mimpure-text
|
|
|
|
BUNDLE_LDFLAGS += -nodefaultlibs -Xlinker -r
|
1997-09-23 01:27:32 +00:00
|
|
|
endif
|
1998-01-30 23:59:17 +00:00
|
|
|
|
1998-01-11 21:59:31 +00:00
|
|
|
# end Solaris
|
|
|
|
#
|
|
|
|
####################################################
|