Makefile.unix revision 268896
1226586SdimCC ?= gcc 2226586SdimDESTDIR ?= /usr/local 3226586SdimLD ?= gcc 4226586SdimC_COMMON_FLAGS ?= -fPIC -Wall -W -Wno-unused-parameter -Wno-pointer-sign -I./include -I./uthash -I./src 5226586SdimMAJOR_VERSION = 0 6226586SdimMINOR_VERSION = 2 7226586SdimPATCH_VERSION = 9 8226586SdimVERSION = "$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)" 9226586SdimSONAME = libucl.so 10226586SdimSONAME_FULL = $(SONAME).$(MAJOR_VERSION) 11226586SdimOBJDIR ?= .obj 12226586SdimTESTDIR ?= tests 13226586SdimSRCDIR ?= src 14245431SdimINCLUDEDIR ?= include 15245431SdimMKDIR ?= mkdir 16226586SdimINSTALL ?= install 17245431SdimRM ?= rm 18226586SdimRMDIR ?= rmdir 19226586SdimLN ?= ln 20226586SdimLD_SHARED_FLAGS ?= -Wl,-soname,$(SONAME) -shared -lm 21226586SdimLD_UCL_FLAGS ?= -L$(OBJDIR) -Wl,-rpath,$(OBJDIR) -lucl 22226586SdimLD_ADD ?= -lrt 23226586SdimCOPT_FLAGS ?= -O2 24226586SdimHDEPS = $(SRCDIR)/ucl_hash.h \ 25226586Sdim $(SRCDIR)/ucl_chartable.h \ 26226586Sdim $(SRCDIR)/ucl_internal.h \ 27226586Sdim $(INCLUDEDIR)/ucl.h \ 28226586Sdim $(SRCDIR)/xxhash.h 29226586SdimOBJECTS = $(OBJDIR)/ucl_hash.o \ 30226586Sdim $(OBJDIR)/ucl_util.o \ 31226586Sdim $(OBJDIR)/ucl_parser.o \ 32245431Sdim $(OBJDIR)/ucl_emitter.o \ 33226586Sdim $(OBJDIR)/ucl_schema.o \ 34226586Sdim $(OBJDIR)/xxhash.o 35226586Sdim 36226586Sdimall: $(OBJDIR) $(OBJDIR)/$(SONAME) 37226586Sdim 38226586Sdim$(OBJDIR)/$(SONAME): $(OBJDIR)/$(SONAME_FULL) 39226586Sdim $(LN) -sf $(SONAME_FULL) $(OBJDIR)/$(SONAME) 40226586Sdim 41226586Sdim$(OBJDIR)/$(SONAME_FULL): $(OBJECTS) 42226586Sdim $(CC) -o $(OBJDIR)/$(SONAME_FULL) $(OBJECTS) $(LD_SHARED_FLAGS) $(LDFLAGS) $(SSL_LIBS) $(FETCH_LIBS) 43226586Sdim 44226586Sdim$(OBJDIR): 45226586Sdim @$(MKDIR) -p $(OBJDIR) 46245431Sdim 47226586Sdim# Compile rules 48226586Sdim$(OBJDIR)/ucl_util.o: $(SRCDIR)/ucl_util.c $(HDEPS) 49226586Sdim $(CC) -o $(OBJDIR)/ucl_util.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_util.c 50226586Sdim$(OBJDIR)/ucl_parser.o: $(SRCDIR)/ucl_parser.c $(HDEPS) 51226586Sdim $(CC) -o $(OBJDIR)/ucl_parser.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_parser.c 52226586Sdim$(OBJDIR)/ucl_emitter.o: $(SRCDIR)/ucl_emitter.c $(HDEPS) 53226586Sdim $(CC) -o $(OBJDIR)/ucl_emitter.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_emitter.c 54226586Sdim$(OBJDIR)/ucl_hash.o: $(SRCDIR)/ucl_hash.c $(HDEPS) 55226586Sdim $(CC) -o $(OBJDIR)/ucl_hash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_hash.c 56226586Sdim$(OBJDIR)/ucl_schema.o: $(SRCDIR)/ucl_schema.c $(HDEPS) 57226586Sdim $(CC) -o $(OBJDIR)/ucl_schema.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/ucl_schema.c 58226586Sdim$(OBJDIR)/xxhash.o: $(SRCDIR)/xxhash.c $(HDEPS) 59226586Sdim $(CC) -o $(OBJDIR)/xxhash.o $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) -c $(SRCDIR)/xxhash.c 60226586Sdim 61226586Sdimclean: 62226586Sdim $(RM) $(OBJDIR)/*.o $(OBJDIR)/$(SONAME_FULL) $(OBJDIR)/$(SONAME) $(OBJDIR)/chargen $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/objdump $(OBJDIR)/test_generate $(OBJDIR)/test_schema || true 63226586Sdim $(RMDIR) $(OBJDIR) 64226586Sdim 65226586Sdim# Utils 66226586Sdim 67245431Sdimchargen: utils/chargen.c $(OBJDIR)/$(SONAME) 68226586Sdim $(CC) -o $(OBJDIR)/chargen $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/chargen.c 69226586Sdimobjdump: utils/objdump.c $(OBJDIR)/$(SONAME) 70226586Sdim $(CC) -o $(OBJDIR)/objdump $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) utils/objdump.c $(LD_UCL_FLAGS) 71226586Sdim 72226586Sdim# Tests 73226586Sdim 74226586Sdimtest: $(OBJDIR) $(OBJDIR)/$(SONAME) $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/test_generate $(OBJDIR)/test_schema 75226586Sdim 76226586Sdimrun-test: test 77226586Sdim TEST_DIR=$(TESTDIR) $(TESTDIR)/run_tests.sh $(OBJDIR)/test_basic $(OBJDIR)/test_speed $(OBJDIR)/test_generate $(OBJDIR)/test_schema 78226586Sdim 79226586Sdim$(OBJDIR)/test_basic: $(TESTDIR)/test_basic.c $(OBJDIR)/$(SONAME) 80226586Sdim $(CC) -o $(OBJDIR)/test_basic $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_basic.c $(LD_UCL_FLAGS) 81226586Sdim$(OBJDIR)/test_schema: $(TESTDIR)/test_schema.c $(OBJDIR)/$(SONAME) 82226586Sdim $(CC) -o $(OBJDIR)/test_schema $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_schema.c $(LD_UCL_FLAGS) 83226586Sdim$(OBJDIR)/test_speed: $(TESTDIR)/test_speed.c $(OBJDIR)/$(SONAME) 84226586Sdim $(CC) -o $(OBJDIR)/test_speed $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_speed.c $(LD_UCL_FLAGS) $(LD_ADD) 85226586Sdim$(OBJDIR)/test_generate: $(TESTDIR)/test_generate.c $(OBJDIR)/$(SONAME) 86226586Sdim $(CC) -o $(OBJDIR)/test_generate $(CPPFLAGS) $(COPT_FLAGS) $(CFLAGS) $(C_COMMON_FLAGS) $(SSL_CFLAGS) $(FETCH_FLAGS) $(LDFLAGS) $(TESTDIR)/test_generate.c $(LD_UCL_FLAGS) $(LD_ADD) 87226586Sdim 88226586Sdiminstall: $(OBJDIR)/$(SONAME) 89226586Sdim $(INSTALL) -m0755 $(SONAME) $(DESTDIR)/lib/$(SONAME) 90226586Sdim $(INSTALL) -m0644 include/ucl.h $(DESTDIR)/include/ucl.h 91226586Sdim 92226586Sdim.PHONY: clean $(OBJDIR) 93226586Sdim