1# 2# This Makefile is designed for use with main.mk in the root directory of 3# this project. After including main.mk, the users makefile should contain: 4# 5# LSMDIR=$(TOP)/ext/lsm1/ 6# LSMOPTS=-fPIC 7# include $(LSMDIR)/Makefile 8# 9# The most useful targets are [lsmtest] and [lsm.so]. 10# 11 12LSMOBJ = \ 13 lsm_ckpt.o \ 14 lsm_file.o \ 15 lsm_log.o \ 16 lsm_main.o \ 17 lsm_mem.o \ 18 lsm_mutex.o \ 19 lsm_shared.o \ 20 lsm_sorted.o \ 21 lsm_str.o \ 22 lsm_tree.o \ 23 lsm_unix.o \ 24 lsm_win32.o \ 25 lsm_varint.o \ 26 lsm_vtab.o 27 28LSMHDR = \ 29 $(LSMDIR)/lsm.h \ 30 $(LSMDIR)/lsmInt.h 31 32LSMTESTSRC = $(LSMDIR)/lsm-test/lsmtest1.c $(LSMDIR)/lsm-test/lsmtest2.c \ 33 $(LSMDIR)/lsm-test/lsmtest3.c $(LSMDIR)/lsm-test/lsmtest4.c \ 34 $(LSMDIR)/lsm-test/lsmtest5.c $(LSMDIR)/lsm-test/lsmtest6.c \ 35 $(LSMDIR)/lsm-test/lsmtest7.c $(LSMDIR)/lsm-test/lsmtest8.c \ 36 $(LSMDIR)/lsm-test/lsmtest9.c \ 37 $(LSMDIR)/lsm-test/lsmtest_datasource.c \ 38 $(LSMDIR)/lsm-test/lsmtest_func.c $(LSMDIR)/lsm-test/lsmtest_io.c \ 39 $(LSMDIR)/lsm-test/lsmtest_main.c $(LSMDIR)/lsm-test/lsmtest_mem.c \ 40 $(LSMDIR)/lsm-test/lsmtest_tdb.c $(LSMDIR)/lsm-test/lsmtest_tdb3.c \ 41 $(LSMDIR)/lsm-test/lsmtest_util.c $(LSMDIR)/lsm-test/lsmtest_win32.c 42 43 44# all: lsm.so 45 46LSMOPTS += -fPIC -DLSM_MUTEX_PTHREADS=1 -I$(LSMDIR) -DHAVE_ZLIB 47 48lsm.so: $(LSMOBJ) 49 $(TCCX) -shared -fPIC -o lsm.so $(LSMOBJ) 50 51%.o: $(LSMDIR)/%.c $(LSMHDR) sqlite3.h 52 $(TCCX) $(LSMOPTS) -c $< 53 54lsmtest$(EXE): $(LSMOBJ) $(LSMTESTSRC) $(LSMTESTHDR) sqlite3.o 55 # $(TCPPX) -c $(TOP)/lsm-test/lsmtest_tdb2.cc 56 $(TCCX) $(LSMOPTS) $(LSMTESTSRC) $(LSMOBJ) sqlite3.o -o lsmtest$(EXE) $(THREADLIB) -lz 57