1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
LEVEL = ../../../make
CC ?= clang
ifeq "$(ARCH)" ""
ARCH = x86_64
endif
ifeq "$(OS)" ""
OS = $(shell uname -s)
endif
CFLAGS ?= -g -O0
ifeq "$(OS)" "Darwin"
CFLAGS += -arch $(ARCH)
endif
LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
all: a.out libTest.dylib libTestExt.dylib
libTest.dylib: Test/Test.m
$(CC) $(CFLAGS) -I. -c -o Test.o Test/Test.m
$(CC) $(LDFLAGS) -shared -o libTest.dylib Test.o
dsymutil libTest.dylib
libTestExt.dylib: TestExt/TestExt.m
$(CC) $(CFLAGS) -I. -c -o TestExt.o TestExt/TestExt.m
$(CC) $(LDFLAGS) -L. -lTest -shared -o libTestExt.dylib TestExt.o
dsymutil libTestExt.dylib
a.out: main.m libTest.dylib libTestExt.dylib
$(CC) $(LDFLAGS) -I. -L. -lTest -lTestExt -o a.out main.m
.PHONY: clean
clean:
rm -rf libTest.dylib libTestExt.dylib a.out Test.o TestExt.o libTest.dylib.dSYM libTest.dylib.dSYM
|