freebsd-ports/lang/libobjc2/files/patch-Makefile
Dirk Meyer a3c3969371 Replacement for the GNU Objective-C runtime supporting the features
of Objective-C 2 for use with GNUstep and other Objective-C programs.
This runtime is based on the Etoile Objective-C Runtime, an earlier
research prototype, and includes support for non-fragile instance
variables, type-dependent dispatch, and object planes. It is fully
compatible with the FSF's GCC Objective-C ABI and also implements
a new ABI that is supported by Clang and is required for some of
the newer features.

Submitted by:	Pete French
Reviewed by:	dinoex
2010-10-13 16:41:24 +00:00

89 lines
2 KiB
Text

*** Makefile.orig 2010-10-06 14:03:45.281764937 +0100
--- Makefile 2010-10-07 17:49:29.429419346 +0100
***************
*** 4,16 ****
#CC=clang
! CFLAGS += -std=c99
CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH
#LIB_DIR=/usr/local/GNUstep/Local/Library/Libraries/
#HEADER_DIR=/usr/local/GNUstep/Local/Library/Headers
! LIB_DIR=/tmp/usr/lib/
! HEADER_DIR=/tmp/usr/include/
OBJECTS = \
NSBlocks.o\
--- 4,19 ----
#CC=clang
! CFLAGS += -std=c99 -fPIC
CPPFLAGS += -DTYPE_DEPENDENT_DISPATCH
+ CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500
#LIB_DIR=/usr/local/GNUstep/Local/Library/Libraries/
#HEADER_DIR=/usr/local/GNUstep/Local/Library/Headers
!
! PREFIX?= /tmp/usr
! LIB_DIR= ${PREFIX}/lib
! HEADER_DIR= ${PREFIX}/include
OBJECTS = \
NSBlocks.o\
***************
*** 38,48 ****
statics_loader.o\
sync.o
! all: libobjc.so.$(VERSION)
libobjc.so.$(VERSION): $(OBJECTS)
@echo Linking shared library...
! ld -shared -o $@ $(OBJECTS)
.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
--- 41,59 ----
statics_loader.o\
sync.o
! .if !defined(WITHOUT_TOYDISPATCH)
! OBJECTS+= toydispatch.o
! .endif
!
! all: libobjc.so.$(VERSION) libobjc.a
libobjc.so.$(VERSION): $(OBJECTS)
@echo Linking shared library...
! @ld -shared -o $@ $(OBJECTS)
!
! libobjc.a: $(OBJECTS)
! @echo Linking static library...
! @ld -r -s -o $@ $(OBJECTS)
.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
***************
*** 50,57 ****
--- 61,72 ----
.m.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+ toydispatch.o: toydispatch/toydispatch.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -I toydispatch -c $< -o $@
+
install: all
install -m 444 libobjc.so.$(VERSION) $(LIB_DIR)
+ install -m 444 libobjc.a $(LIB_DIR)
ln -sf $(LIB_DIR)/libobjc.so.$(VERSION) $(LIB_DIR)/libobjc.so
install -d $(HEADER_DIR)/objc
install -m 444 objc/*.h $(HEADER_DIR)/objc
***************
*** 59,61 ****
--- 74,77 ----
clean:
rm -f $(OBJECTS)
rm -f libobjc.so.$(VERSION)
+ rm -f libobjc.a