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
|
NOCODE := $(patsubst %, src/%.c, FREEARRAY ILENGTH ILOG2A ISIGNA)
SOURCE := $(sort $(filter-out $(NOCODE), $(wildcard src/*.c)) src/GC.c)
OBJS := $(patsubst src/%.c, %.o, $(SOURCE))
CC?=cc
AR?=ar
C_EXTRA_FLAGS=-fPIC -DPIC
LD=$(CC) -shared $(C_EXTRA_FLAGS)
all: initial_setup libsaclib.a libsaclib.so.0.0.0
initial_setup:
cp debian/sysdep.h include/sysdep.h
cp debian/GC.c src/GC.c
mkdir -p .libs
%.o: src/%.c
$(CC) -Iinclude $(CPPFLAGS) $(CFLAGS) -c $< $(C_EXTRA_FLAGS) -o $@
GC.o: src/GC.c
$(CC) -Iinclude $(CPPFLAGS) $(CFLAGS) -c $< $(C_EXTRA_FLAGS) -o $@
libsaclib.a: $(OBJS)
$(AR) rcs .libs/$@ $^
libsaclib.so.0.0.0: $(OBJS) GC.o
$(LD) $^ -lm $(LDFLAGS) -Wl,-soname -Wl,libsaclib.so.0 -o .libs/$@
cd .libs && ln -sf libsaclib.so.0.0.0 libsaclib.so.0 && ln -sf libsaclib.so.0.0.0 libsaclib.so
|