40 lines
818 B
Makefile
40 lines
818 B
Makefile
|
CC = gcc
|
||
|
|
||
|
SRCS = bitvector.c hashing.c socket.c timefuncs.c ptrhash.c utf8.c ios.c \
|
||
|
dirpath.c htable.c bitvector-ops.c int2str.c dump.c random.c \
|
||
|
lltinit.c arraylist.c
|
||
|
OBJS = $(SRCS:%.c=%.o)
|
||
|
DOBJS = $(SRCS:%.c=%.do)
|
||
|
TARGET = libllt.a
|
||
|
|
||
|
# OS flags: LINUX, WIN32, MACOSX
|
||
|
# architecture flags: __CPU__=xxx, BITS64, ARCH_X86, ARCH_X86_64
|
||
|
CONFIG = -DMACOSX -DARCH_X86_64 -DBITS64 -D__CPU__=686
|
||
|
FLAGS = -Wall -Wno-strict-aliasing $(CFLAGS) $(CONFIG)
|
||
|
LIBS =
|
||
|
|
||
|
DEBUGFLAGS = -g -DDEBUG $(FLAGS)
|
||
|
SHIPFLAGS = -O3 -DNDEBUG $(FLAGS)
|
||
|
|
||
|
default: release
|
||
|
|
||
|
%.o: %.c
|
||
|
$(CC) $(SHIPFLAGS) -c $< -o $@
|
||
|
%.do: %.c
|
||
|
$(CC) $(DEBUGFLAGS) -c $< -o $@
|
||
|
|
||
|
debug: $(DOBJS)
|
||
|
rm -rf $(TARGET)
|
||
|
ar rs $(TARGET) $(DOBJS)
|
||
|
|
||
|
release: $(OBJS)
|
||
|
rm -rf $(TARGET)
|
||
|
ar rs $(TARGET) $(OBJS)
|
||
|
|
||
|
clean:
|
||
|
rm -f *.o
|
||
|
rm -f *.do
|
||
|
rm -f *~
|
||
|
rm -f core*
|
||
|
rm -f $(TARGET)
|