1#
2# This Makefile is designed for use with Makefile.msc in the root directory
3# of this project.  The Makefile.msc should contain:
4#
5#    LSMDIR=$(TOP)\ext\lsm1
6#    !INCLUDE $(LSMDIR)\Makefile.msc
7#
8# The most useful targets are [lsmtest.exe] and [lsm.dll].
9#
10
11LSMOBJ    = \
12  lsm_ckpt.lo \
13  lsm_file.lo \
14  lsm_log.lo \
15  lsm_main.lo \
16  lsm_mem.lo \
17  lsm_mutex.lo \
18  lsm_shared.lo \
19  lsm_sorted.lo \
20  lsm_str.lo \
21  lsm_tree.lo \
22  lsm_unix.lo \
23  lsm_win32.lo \
24  lsm_varint.lo \
25  lsm_vtab.lo
26
27LSMHDR   = \
28  $(LSMDIR)\lsm.h \
29  $(LSMDIR)\lsmInt.h
30
31LSMTESTSRC = $(LSMDIR)\lsm-test\lsmtest1.c $(LSMDIR)\lsm-test\lsmtest2.c     \
32             $(LSMDIR)\lsm-test\lsmtest3.c $(LSMDIR)\lsm-test\lsmtest4.c     \
33             $(LSMDIR)\lsm-test\lsmtest5.c $(LSMDIR)\lsm-test\lsmtest6.c     \
34             $(LSMDIR)\lsm-test\lsmtest7.c $(LSMDIR)\lsm-test\lsmtest8.c     \
35             $(LSMDIR)\lsm-test\lsmtest9.c                                   \
36             $(LSMDIR)\lsm-test\lsmtest_datasource.c \
37             $(LSMDIR)\lsm-test\lsmtest_func.c $(LSMDIR)\lsm-test\lsmtest_io.c  \
38             $(LSMDIR)\lsm-test\lsmtest_main.c $(LSMDIR)\lsm-test\lsmtest_mem.c \
39             $(LSMDIR)\lsm-test\lsmtest_tdb.c $(LSMDIR)\lsm-test\lsmtest_tdb3.c \
40             $(LSMDIR)\lsm-test\lsmtest_util.c $(LSMDIR)\lsm-test\lsmtest_win32.c
41
42# all: lsm.dll lsmtest.exe
43
44LSMOPTS = $(NO_WARN) -DLSM_MUTEX_WIN32=1 -I$(LSMDIR)
45
46!IF $(DEBUG)>2
47LSMOPTS = $(LSMOPTS) -DLSM_DEBUG=1
48!ENDIF
49
50!IF $(MEMDEBUG)!=0
51LSMOPTS = $(LSMOPTS) -DLSM_DEBUG_MEM=1
52!ENDIF
53
54lsm_ckpt.lo:	$(LSMDIR)\lsm_ckpt.c $(LSMHDR) $(SQLITE3H)
55	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_ckpt.c
56
57lsm_file.lo:	$(LSMDIR)\lsm_file.c $(LSMHDR) $(SQLITE3H)
58	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_file.c
59
60lsm_log.lo:	$(LSMDIR)\lsm_log.c $(LSMHDR) $(SQLITE3H)
61	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_log.c
62
63lsm_main.lo:	$(LSMDIR)\lsm_main.c $(LSMHDR) $(SQLITE3H)
64	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_main.c
65
66lsm_mem.lo:	$(LSMDIR)\lsm_mem.c $(LSMHDR) $(SQLITE3H)
67	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_mem.c
68
69lsm_mutex.lo:	$(LSMDIR)\lsm_mutex.c $(LSMHDR) $(SQLITE3H)
70	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_mutex.c
71
72lsm_shared.lo:	$(LSMDIR)\lsm_shared.c $(LSMHDR) $(SQLITE3H)
73	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_shared.c
74
75lsm_sorted.lo:	$(LSMDIR)\lsm_sorted.c $(LSMHDR) $(SQLITE3H)
76	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_sorted.c
77
78lsm_str.lo:	$(LSMDIR)\lsm_str.c $(LSMHDR) $(SQLITE3H)
79	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_str.c
80
81lsm_tree.lo:	$(LSMDIR)\lsm_tree.c $(LSMHDR) $(SQLITE3H)
82	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_tree.c
83
84lsm_unix.lo:	$(LSMDIR)\lsm_unix.c $(LSMHDR) $(SQLITE3H)
85	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_unix.c
86
87lsm_win32.lo:	$(LSMDIR)\lsm_win32.c $(LSMHDR) $(SQLITE3H)
88	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_win32.c
89
90lsm_varint.lo:	$(LSMDIR)\lsm_varint.c $(LSMHDR) $(SQLITE3H)
91	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_varint.c
92
93lsm_vtab.lo:	$(LSMDIR)\lsm_vtab.c $(LSMHDR) $(SQLITE3H)
94	$(LTCOMPILE) $(LSMOPTS) -c $(LSMDIR)\lsm_vtab.c
95
96lsm.dll:	$(LSMOBJ)
97	$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ $(LSMOBJ)
98	copy /Y $@ $(LSMDIR)\$@
99
100lsmtest.exe: $(LSMOBJ) $(LSMTESTSRC) $(LSMTESTHDR) $(LIBOBJ)
101	$(LTLINK) $(LSMOPTS) $(LSMTESTSRC) /link $(LSMOBJ) $(LIBOBJ)
102	copy /Y $@ $(LSMDIR)\$@
103