darling-libobjc2/GNUmakefile
theraven bdf97cf64e Added hopscotch table implementation and rewrote the class table to use it. This is done so that the class table and protocol tables can share the same code (currently there is no protocol table).
Note that concurrent resizing has not yet been implemented.  That means that there is a hard limit on the number of classes that can be loaded.  This is currently set to quite a small number for testing, to stress the hash table.  If you're experiencing problems as a result, then please let me know and I will increase it.
2010-01-07 18:22:13 +00:00

90 lines
1.8 KiB
Makefile

include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = libobjc
libobjc_VERSION = 4
libobjc_OBJC_FILES = \
NSBlocks.m\
NXConstStr.m\
Object.m\
Protocol.m\
blocks_runtime.m\
linking.m\
mutation.m\
properties.m\
sync.m
libobjc_C_FILES = \
archive.c\
class.c\
class_table.c\
encoding.c\
exception.c\
gc.c\
hash.c\
init.c\
misc.c\
nil_method.c\
objects.c\
protocol.c\
runtime.c\
sarray.c\
selector.c\
sendmsg.c\
thr.c
libobjc_HEADER_FILES_DIR = objc
libobjc_HEADER_FILES_INSTALL_DIR = objc
libobjc_HEADER_FILES = \
Availability.h\
NXConstStr.h\
Object.h\
Protocol.h\
blocks_runtime.h\
encoding.h\
hash.h\
objc-api.h\
objc-decls.h\
objc-list.h\
objc.h\
runtime-legacy.h\
runtime.h\
sarray.h\
thr.h\
typedstream.h
libobjc_LIBRARIES_DEPEND_UPON += -lpthread
# 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
# 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 += -Werror -std=c99 -g -fexceptions #-fno-inline
libobjc_OBJCFLAGS += -g -std=c99
libobjc_LDFLAGS += -g
ifeq ($(findstring no, $(debug)),)
before-all::
@echo
@echo
@echo WARNING: You are building in debug mode. This will generate a LOT of console \
output for every Objective-C program you run. If this is not what you \
want, please compile with $(MAKE) debug=no
@echo
@echo
endif
ifneq ($(findstring gcc, $(CC)),)
libobjc_CFLAGS += -fgnu89-inline
endif
ifneq ($(findstring mingw, $(GNUSTEP_HOST_OS)),)
libobjc_C_FILES += libobjc_entry.c
endif
include $(GNUSTEP_MAKEFILES)/library.make