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 = -DLINUX -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)