diff --git a/GNUmakefile b/GNUmakefile index e5c8a75..45a5fc2 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -7,11 +7,15 @@ SVN_TAG_NAME=objc2 include $(GNUSTEP_MAKEFILES)/common.make -LIBRARY_NAME = libobjc libobjcxx +LIBOBJC = libobjc +LIBOBJCLIBNAME = objc +LIBOBJCXX = libobjcxx -libobjc_VERSION = 4 +LIBRARY_NAME = ${LIBOBJC} ${LIBOBJCXX} -libobjc_OBJC_FILES = \ +${LIBOBJC}_VERSION = 4 + +${LIBOBJC}_OBJC_FILES = \ NSBlocks.m\ Protocol2.m\ associate.m\ @@ -20,7 +24,7 @@ libobjc_OBJC_FILES = \ properties.m -libobjc_C_FILES = \ +${LIBOBJC}_C_FILES = \ abi_version.c\ alias_table.c\ caps.c\ @@ -42,19 +46,19 @@ libobjc_C_FILES = \ statics_loader.c\ toydispatch.c -libobjcxx_CC_FILES = objcxx_eh.cc -libobjcxx_LDFLAGS = -L./obj/$(GNUSTEP_TARGET_LDIR)/ -lstdc++ -lobjc +${LIBOBJCXX}_CC_FILES = objcxx_eh.cc +${LIBOBJCXX}_LDFLAGS = -L./obj/$(GNUSTEP_TARGET_LDIR)/ -lstdc++ -l${LIBOBJCLIBNAME} ifeq ($(disable_legacy), yes) -libobjc_CPPFLAGS += -DNO_LEGACY +${LIBOBJC}_CPPFLAGS += -DNO_LEGACY else -libobjc_C_FILES += legacy_malloc.c +${LIBOBJC}_C_FILES += legacy_malloc.c endif -libobjc_HEADER_FILES_DIR = objc -libobjc_HEADER_FILES_INSTALL_DIR = objc +${LIBOBJC}_HEADER_FILES_DIR = objc +${LIBOBJC}_HEADER_FILES_INSTALL_DIR = objc ifneq ($(install_headers), no) -libobjc_HEADER_FILES = \ +${LIBOBJC}_HEADER_FILES = \ Availability.h\ Object.h\ Protocol.h\ @@ -73,66 +77,66 @@ endif # Disable type dependent dispatch if tdd=no is specified ifneq ($(tdd), no) -libobjc_CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH +${LIBOBJC}_CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH endif ifeq ($(low_memory), yes) -libobjc_CPPFLAGS += -D__OBJC_LOW_MEMORY__ +${LIBOBJC}_CPPFLAGS += -D__OBJC_LOW_MEMORY__ endif ifneq ($(boehm_gc), no) -libobjc_C_FILES += gc_boehm.c +${LIBOBJC}_C_FILES += gc_boehm.c ifneq ($(findstring linux, $(GNUSTEP_TARGET_OS)), linux) -libobjc_LIBRARIES_DEPEND_UPON += -lgc-threaded -lexecinfo +${LIBOBJC}_LIBRARIES_DEPEND_UPON += -lgc-threaded -lexecinfo else -libobjc_LIBRARIES_DEPEND_UPON += -lgc +${LIBOBJC}_LIBRARIES_DEPEND_UPON += -lgc endif -#libobjc_OBJCFLAGS += -fobjc-gc -libobjc_CPPFLAGS += -DENABLE_GC +#${LIBOBJC}_OBJCFLAGS += -fobjc-gc +${LIBOBJC}_CPPFLAGS += -DENABLE_GC endif ifeq ($(findstring openbsd, $(GNUSTEP_HOST_OS)), openbsd) -libobjc_LIBRARIES_DEPEND_UPON += -pthread +${LIBOBJC}_LIBRARIES_DEPEND_UPON += -pthread else -libobjc_LIBRARIES_DEPEND_UPON += -lpthread +${LIBOBJC}_LIBRARIES_DEPEND_UPON += -lpthread endif # If we're doing a release build, don't tell people that the code that they're # using is rubbish - they complain. #CPPFLAGS += -DNO_SELECTOR_MISMATCH_WARNINGS -libobjc_CFLAGS += -O3 +${LIBOBJC}_CFLAGS += -O3 # Deprecated functions are only deprecated for external use, not for us because # we are special, precious, little flowers. -libobjc_CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500 +${LIBOBJC}_CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500 # Note to Riccardo. Please do not 'fix' C99isms in this. The new ABI is only # useful on compilers that support C99 (currently only clang), so there is no # benefit from supporting platforms with no C99 compiler. -libobjc_CFLAGS += -std=gnu99 -g -fexceptions #-fvisibility=hidden -libobjc_CCFLAGS += -std=c++98 -g -fexceptions #-fvisibility=hidden -libobjc_CFLAGS += -Wno-unused-function +${LIBOBJC}_CFLAGS += -std=gnu99 -g -fexceptions #-fvisibility=hidden +${LIBOBJC}_CCFLAGS += -std=c++98 -g -fexceptions #-fvisibility=hidden +${LIBOBJC}_CFLAGS += -Wno-unused-function # Uncomment this when debugging - it makes everything slow, but means that the # debugger actually works... ifeq ($(debug), yes) -libobjc_CFLAGS += -fno-inline -libobjc_CPPFLAGS += -DGC_DEBUG +${LIBOBJC}_CFLAGS += -fno-inline +${LIBOBJC}_CPPFLAGS += -DGC_DEBUG endif -libobjc_OBJCFLAGS += $(libobjc_CFLAGS) $(libobjc_CFLAGS) +${LIBOBJC}_OBJCFLAGS += $(${LIBOBJC}_CFLAGS) $(${LIBOBJC}_CFLAGS) ifneq ($(findstring gcc, $(CC)),) # Hack to get the __sync_* GCC builtins to work with GCC ifeq ($(GNUSTEP_TARGET_CPU), ix86) - libobjc_CFLAGS += -march=i586 + ${LIBOBJC}_CFLAGS += -march=i586 endif endif ifeq ($(GNUSTEP_TARGET_OS), mingw32) # Hack to get mingw to provide declaration for strdup (since it is non-standard) -libobjc_CPPFLAGS += -U__STRICT_ANSI__ +${LIBOBJC}_CPPFLAGS += -U__STRICT_ANSI__ endif include $(GNUSTEP_MAKEFILES)/aggregate.make