xref: /onnv-gate/usr/src/lib/libsqlite/Makefile.com (revision 5811:c53b103e027e)
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