14520Snw141292# 25772Sas200622# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 34520Snw141292# Use is subject to license terms. 44520Snw141292# 54520Snw141292#ident "%Z%%M% %I% %E% SMI" 64520Snw141292# 74520Snw141292 84520Snw141292SQLITE_VERSION = 2.8.15-repcached 94520Snw141292 104520Snw141292LIBRARY = libsqlite.a 114520Snw141292RELOC = $(LIBRARY:%.a=%.o) 124520Snw141292 134520Snw141292VERS = .1 144520Snw141292OBJECTS = \ 154520Snw141292 attach.o \ 164520Snw141292 auth.o \ 174520Snw141292 btree.o \ 184520Snw141292 btree_rb.o \ 194520Snw141292 build.o \ 204520Snw141292 copy.o \ 214520Snw141292 date.o \ 224520Snw141292 delete.o \ 234520Snw141292 encode.o \ 244520Snw141292 expr.o \ 254520Snw141292 func.o \ 264520Snw141292 hash.o \ 274520Snw141292 insert.o \ 284520Snw141292 main.o \ 294520Snw141292 opcodes.o \ 304520Snw141292 os.o \ 314520Snw141292 pager.o \ 324520Snw141292 parse.o \ 334520Snw141292 pragma.o \ 344520Snw141292 printf.o \ 354520Snw141292 random.o \ 364520Snw141292 select.o \ 374520Snw141292 table.o \ 384520Snw141292 tokenize.o \ 394520Snw141292 trigger.o \ 404520Snw141292 update.o \ 414520Snw141292 util.o \ 424520Snw141292 vacuum.o \ 434520Snw141292 vdbe.o \ 444520Snw141292 vdbeaux.o \ 454520Snw141292 where.o 464520Snw141292 474520Snw141292include $(SRC)/lib/Makefile.lib 484520Snw141292 49*5811Samw# The shared object install target directory is usr/lib/smbsrv. 50*5811SamwSMBSRVLIBDIR= $(ROOTLIBDIR)/smbsrv 51*5811SamwSMBSRVLINK= $(SMBSRVLIBDIR)/$(LIBLINKS) 52*5811Samw 534520Snw141292SRCDIR = ../src 544520Snw141292TOOLDIR = ../tool 555772Sas200622$(DYNLIB) := LDLIBS += -lc 565772Sas200622LIBS = $(RELOC) $(LINTLIB) $(DYNLIB) 574520Snw141292 584520Snw141292$(LINTLIB) := SRCS = $(LINTSRC) 594520Snw141292 604520Snw141292SRCS = \ 614520Snw141292 $(SRCDIR)/attach.c \ 624520Snw141292 $(SRCDIR)/auth.c \ 634520Snw141292 $(SRCDIR)/btree.c \ 644520Snw141292 $(SRCDIR)/btree_rb.c \ 654520Snw141292 $(SRCDIR)/build.c \ 664520Snw141292 $(SRCDIR)/copy.c \ 674520Snw141292 $(SRCDIR)/date.c \ 684520Snw141292 $(SRCDIR)/delete.c \ 694520Snw141292 $(SRCDIR)/encode.c \ 704520Snw141292 $(SRCDIR)/expr.c \ 714520Snw141292 $(SRCDIR)/func.c \ 724520Snw141292 $(SRCDIR)/hash.c \ 734520Snw141292 $(SRCDIR)/insert.c \ 744520Snw141292 $(SRCDIR)/main.c \ 754520Snw141292 opcodes.c \ 764520Snw141292 $(SRCDIR)/os.c \ 774520Snw141292 $(SRCDIR)/pager.c \ 784520Snw141292 parse.c \ 794520Snw141292 $(SRCDIR)/pragma.c \ 804520Snw141292 $(SRCDIR)/printf.c \ 814520Snw141292 $(SRCDIR)/random.c \ 824520Snw141292 $(SRCDIR)/select.c \ 834520Snw141292 $(SRCDIR)/table.c \ 844520Snw141292 $(SRCDIR)/tokenize.c \ 854520Snw141292 $(SRCDIR)/update.c \ 864520Snw141292 $(SRCDIR)/util.c \ 874520Snw141292 $(SRCDIR)/vacuum.c \ 884520Snw141292 $(SRCDIR)/vdbe.c \ 894520Snw141292 $(SRCDIR)/vdbeaux.c \ 904520Snw141292 $(SRCDIR)/where.c \ 914520Snw141292 $(SRCDIR)/trigger.c 924520Snw141292 934520Snw141292MYCPPFLAGS = -D_REENTRANT -DTHREADSAFE=1 -DHAVE_USLEEP=1 -I. -I.. -I$(SRCDIR) 944520Snw141292CPPFLAGS += $(MYCPPFLAGS) 954520Snw141292 965772Sas200622MAPFILES = ../mapfile-sqlite 974520Snw141292 984520Snw141292# Header files used by all library source files. 994520Snw141292# 1004520Snw141292HDR = \ 1014520Snw141292 $(SRCDIR)/btree.h \ 1024520Snw141292 $(SRCDIR)/config.h \ 1034520Snw141292 $(SRCDIR)/hash.h \ 1044520Snw141292 opcodes.h \ 1054520Snw141292 $(SRCDIR)/os.h \ 1064520Snw141292 parse.h \ 1074520Snw141292 ../sqlite.h \ 1084520Snw141292 $(SRCDIR)/sqliteInt.h \ 1094520Snw141292 $(SRCDIR)/vdbe.h \ 1104520Snw141292 $(SRCDIR)/vdbeInt.h 1114520Snw141292 1124520Snw141292# 1134520Snw141292# Sources used for test harness 1144520Snw141292# 1154520Snw141292TESTSRC = \ 1164520Snw141292 $(SRCDIR)/tclsqlite.c \ 1174520Snw141292 $(SRCDIR)/btree.c \ 1184520Snw141292 $(SRCDIR)/func.c \ 1194520Snw141292 $(SRCDIR)/os.c \ 1204520Snw141292 $(SRCDIR)/pager.c \ 1214520Snw141292 $(SRCDIR)/test1.c \ 1224520Snw141292 $(SRCDIR)/test2.c \ 1234520Snw141292 $(SRCDIR)/test3.c \ 1244520Snw141292 $(SRCDIR)/md5.c 1254520Snw141292 1264520Snw141292TESTOBJS = $(TESTSRC:$(SRCDIR)/%.c=%.o) 1274520Snw141292 1284520Snw141292TESTCLEAN = $(TESTOBJS) test.db test.tcl test1.bt test2.db testdb 1294520Snw141292 1304520Snw141292# 1314520Snw141292# Native variants 1324520Snw141292# 1334520Snw141292NATIVERELOC = $(RELOC:%.o=%-native.o) 1344520Snw141292NATIVEPROGS = lemon-build testfixture 1354520Snw141292NATIVEOBJS = lemon.o $(OBJS:%.o=%-native.o) 1364520Snw141292 1374520Snw141292NATIVETARGETS = $(NATIVEPROGS) $(NATIVEOBJS) $(NATIVERELOC) 1384520Snw141292 1394520Snw141292$(NATIVETARGETS) := CC = $(NATIVECC) 1404520Snw141292$(NATIVETARGETS) := LD = $(NATIVELD) 1414520Snw141292$(NATIVETARGETS) := CFLAGS = $(NATIVE_CFLAGS) 1424520Snw141292$(NATIVETARGETS) := CPPFLAGS = $(MYCPPFLAGS) 1434520Snw141292$(NATIVETARGETS) := LDFLAGS = 1444520Snw141292$(NATIVETARGETS) := LDLIBS = -lc 1454520Snw141292 1464520Snw141292$(OBJS) := CFLAGS += $(CTF_FLAGS) 1474520Snw141292$(OBJS) := CTFCONVERT_POST = $(CTFCONVERT_O) 1484520Snw141292 1494520Snw141292TCLBASE = /usr/sfw 1504520Snw141292TCLVERS = tcl8.3 1514520Snw141292 1524520Snw141292testfixture := MYCPPFLAGS += -I$(TCLBASE)/include -DTCLSH -DSQLITE_TEST=1 1534520Snw141292# 1544520Snw141292# work around compiler issues 1554520Snw141292# 1564520Snw141292testfixture := CFLAGS += \ 1574520Snw141292 -erroff=E_ARRAY_OF_INCOMPLETE \ 1584520Snw141292 -erroff=E_ARG_INCOMPATIBLE_WITH_ARG 1594520Snw141292 1604520Snw141292testfixture := LDLIBS += -R$(TCLBASE)/lib -L$(TCLBASE)/lib -l$(TCLVERS) -lm -ldl 1614520Snw141292 1624520Snw141292CLEANFILES += \ 1634520Snw141292 $(RELOC) \ 1644520Snw141292 $(LINTLIB) \ 1654520Snw141292 $(NATIVETARGETS) \ 1664520Snw141292 $(TESTCLEAN) \ 1674520Snw141292 lemon \ 1684520Snw141292 lemon.o \ 1694520Snw141292 lempar.c \ 1704520Snw141292 opcodes.c \ 1714520Snw141292 opcodes.h \ 1724520Snw141292 parse_tmp.c \ 1734520Snw141292 parse_tmp.h \ 1744520Snw141292 parse_tmp.out \ 1754520Snw141292 parse_tmp.y \ 1764520Snw141292 parse.c \ 1774520Snw141292 parse.h 1784520Snw141292 1794520Snw141292ENCODING = ISO8859 1804520Snw141292 1814520Snw141292LINTSRC= ../llib-lsqlite 1824520Snw141292 1834520Snw141292 1844520Snw141292.PARALLEL: $(OBJS) $(OBJS:%.o=%-native.o) 1854520Snw141292.KEEP_STATE: 1864520Snw141292 1874520Snw141292# This is the default Makefile target. The objects listed here 1884520Snw141292# are what get build when you type just "make" with no arguments. 1894520Snw141292# 1904520Snw141292all: $(LIBS) 1914520Snw141292install: all $(ROOTLIBDIR)/$(RELOC) $(ROOTLIBDIR)/$(NATIVERELOC) \ 192*5811Samw $(ROOTLIBDIR)/llib-lsqlite.ln $(SMBSRVLIBDIR)/$(DYNLIB) 1934520Snw141292 1944520Snw141292$(ROOTLIBDIR)/$(RELOC) := FILEMODE= 644 1954520Snw141292$(ROOTLIBDIR)/$(NATIVERELOC) := FILEMODE= 644 1964520Snw141292$(ROOTLIBDIR)/llib-lsqlite.ln := FILEMODE= 644 197*5811Samw$(SMBSRVLIBDIR)/$(DYNLIB) := FILEMODE= 755 1984520Snw141292 1994520Snw141292$(ROOTLIBDIR)/%: % 2004520Snw141292 $(INS.file) 2014520Snw141292 202*5811Samw$(SMBSRVLIBDIR): $(ROOTLIBDIR) 203*5811Samw $(INS.dir) 204*5811Samw 205*5811Samw$(SMBSRVLIBDIR)/%: % $(SMBSRVLIBDIR) 206*5811Samw $(INS.file) 207*5811Samw 208*5811Samw$(SMBSRVLINK): $(SMBSRVLIBDIR) $(SMBSRVLIBDIR)/$(DYNLIB) 209*5811Samw $(INS.liblink) 210*5811Samw 2114520Snw141292$(OBJS) $(OBJS:%.o=%-native.o): $(HDR) 2124520Snw141292 2134520Snw141292native: $(NATIVERELOC) 2144520Snw141292 2154520Snw141292$(RELOC): objs .WAIT $(OBJS) 2165772Sas200622 $(LD) -r $(MAPFILES:%=-M%) -o $(RELOC) $(OBJS) 2174520Snw141292 $(CTFMERGE) -t -f -L VERSION -o $(RELOC) $(OBJS) 2184520Snw141292 2194520Snw141292$(NATIVERELOC): objs .WAIT $(OBJS:%.o=%-native.o) 2205772Sas200622 $(LD) -r $(MAPFILES:%=-M%) -o $(NATIVERELOC) $(OBJS:%.o=%-native.o) 2214520Snw141292 2224520Snw141292opcodes.h: $(SRCDIR)/vdbe.c 2234520Snw141292 @echo "Generating $@"; \ 2244520Snw141292 $(RM) -f $@ ; \ 2254520Snw141292 echo '/* Automatically generated file. Do not edit */' > $@ ; \ 2264520Snw141292 grep '^case OP_' $(SRCDIR)/vdbe.c | \ 2274520Snw141292 sed -e 's/://' | \ 2284520Snw141292 awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >> $@ 2294520Snw141292 2304520Snw141292opcodes.c: $(SRCDIR)/vdbe.c 2314520Snw141292 @echo "Generating $@"; \ 2324520Snw141292 $(RM) -f $@ ; \ 2334520Snw141292 echo '/* Automatically generated file. Do not edit */' > $@ ; \ 2344520Snw141292 echo 'char *sqliteOpcodeNames[] = { "???", ' >> $@ ; \ 2354520Snw141292 grep '^case OP_' $(SRCDIR)/vdbe.c | \ 2364520Snw141292 sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >> $@ ; \ 2374520Snw141292 echo '};' >> $@ 2384520Snw141292 2394520Snw141292# 2404520Snw141292# We use a recursive invocation because otherwise pmake always rebuilds 2414520Snw141292# everything, due to multiple expansions of "foo := A += B". 2424520Snw141292# 2434520Snw141292lemon: FRC 2444520Snw141292 $(MAKE) lemon-build 2454520Snw141292 2464520Snw141292lemon-build: lemon.o $(TOOLDIR)/lempar.c 2474520Snw141292 $(LINK.c) -o lemon lemon.o 2484520Snw141292 $(RM) lempar.c 2494520Snw141292 $(LN) -s $(TOOLDIR)/lempar.c lempar.c 2504520Snw141292 $(RM) lemon-build 2514520Snw141292 $(CP) lemon lemon-build 2524520Snw141292 2534520Snw141292testfixture: FRC 2544520Snw141292 @if [ -f $(TCLBASE)/include/tcl.h ]; then \ 2554520Snw141292 unset SUNPRO_DEPENDENCIES; \ 2564520Snw141292 echo $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\ 2574520Snw141292 exec $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\ 2584520Snw141292 else \ 2594520Snw141292 echo "$(TCLBASE)/include/tcl.h: not found."; \ 2604520Snw141292 exit 1; \ 2614520Snw141292 fi 2624520Snw141292 2634520Snw141292parse_tmp.out: $(SRCDIR)/parse.y lemon 2644520Snw141292 $(RM) parse_tmp.y 2654520Snw141292 $(CP) $(SRCDIR)/parse.y parse_tmp.y 2664520Snw141292 ./lemon parse_tmp.y 2674520Snw141292 2684520Snw141292parse.h: parse_tmp.out 2694520Snw141292 $(CP) parse_tmp.h parse.h 2704520Snw141292 2714520Snw141292parse.c: parse_tmp.out 2724520Snw141292 $(CP) parse_tmp.c parse.c 2734520Snw141292 2744520Snw141292objs/%-native.o: $(SRCDIR)/%.c 2754520Snw141292 $(COMPILE.c) -o $@ $< 2764520Snw141292 $(POST_PROCESS_O) 2774520Snw141292 2784520Snw141292objs/%-native.o: %.c 2794520Snw141292 $(COMPILE.c) -o $@ $< 2804520Snw141292 $(POST_PROCESS_O) 2814520Snw141292 2824520Snw141292objs/parse-native.o: parse.c 2834520Snw141292 $(COMPILE.c) -o $@ parse.c 2844520Snw141292 $(POST_PROCESS_O) 2854520Snw141292 2864520Snw141292objs/%.o: %.c 2874520Snw141292 $(COMPILE.c) -o $@ $< 2884520Snw141292 $(POST_PROCESS_O) 2894520Snw141292 2904520Snw141292%.o: $(SRCDIR)/%.c 2914520Snw141292 $(COMPILE.c) -o $@ $< 2924520Snw141292 $(POST_PROCESS_O) 2934520Snw141292 2944520Snw141292%.o: $(TOOLDIR)/%.c 2954520Snw141292 $(COMPILE.c) -o $@ $< 2964520Snw141292 $(POST_PROCESS_O) 2974520Snw141292 2984520Snw141292include $(SRC)/lib/Makefile.targ 2994520Snw141292 3004520Snw141292FRC: 301