Makefile.com (7014882c6a3672fd0e5d60200af8643ae53c5928) Makefile.com (91d7f85e02991954d1e1bd44673df567ad8dcc87)
1#
2# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3# Use is subject to license terms.
4#
5
1#
2# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3# Use is subject to license terms.
4#
5
6SQLITE_VERSION = 2.8.15-repcached
6# Make the SO name unlikely to conflict with any other
7# libsqlite that might also be found on the system.
8LIBRARY = libsqlite-sys.a
7
9
8LIBRARY = libsqlite.a
9RELOC = $(LIBRARY:%.a=%.o)
10
11VERS = .1
10VERS = .2.8.15
12OBJECTS = \
13 attach.o \
14 auth.o \
15 btree.o \
16 btree_rb.o \
17 build.o \
18 copy.o \
19 date.o \

--- 19 unchanged lines hidden (view full) ---

39 util.o \
40 vacuum.o \
41 vdbe.o \
42 vdbeaux.o \
43 where.o
44
45include $(SRC)/lib/Makefile.lib
46
11OBJECTS = \
12 attach.o \
13 auth.o \
14 btree.o \
15 btree_rb.o \
16 build.o \
17 copy.o \
18 date.o \

--- 19 unchanged lines hidden (view full) ---

38 util.o \
39 vacuum.o \
40 vdbe.o \
41 vdbeaux.o \
42 where.o
43
44include $(SRC)/lib/Makefile.lib
45
47# The shared object install target directory is usr/lib/smbsrv.
48SMBSRVLIBDIR= $(ROOTLIBDIR)/smbsrv
49SMBSRVLINK= $(SMBSRVLIBDIR)/$(LIBLINKS)
46# install this library in the root filesystem
47include $(SRC)/lib/Makefile.rootfs
50
51SRCDIR = ../src
52TOOLDIR = ../tool
53$(DYNLIB) := LDLIBS += -lc
48
49SRCDIR = ../src
50TOOLDIR = ../tool
51$(DYNLIB) := LDLIBS += -lc
54LIBS = $(RELOC) $(LINTLIB) $(DYNLIB)
52LIBS = $(DYNLIB) $(LINTLIB) $(NATIVERELOC)
55
53
56$(LINTLIB) := SRCS = $(LINTSRC)
54$(LINTLIB) := SRCS = ../$(LINTSRC)
57
55
56# generated sources
57GENSRC = opcodes.c parse.c
58
59# all sources
58SRCS = \
60SRCS = \
61 $(GENSRC) \
59 $(SRCDIR)/attach.c \
60 $(SRCDIR)/auth.c \
61 $(SRCDIR)/btree.c \
62 $(SRCDIR)/btree_rb.c \
63 $(SRCDIR)/build.c \
64 $(SRCDIR)/copy.c \
65 $(SRCDIR)/date.c \
66 $(SRCDIR)/delete.c \
67 $(SRCDIR)/encode.c \
68 $(SRCDIR)/expr.c \
69 $(SRCDIR)/func.c \
70 $(SRCDIR)/hash.c \
71 $(SRCDIR)/insert.c \
72 $(SRCDIR)/main.c \
62 $(SRCDIR)/attach.c \
63 $(SRCDIR)/auth.c \
64 $(SRCDIR)/btree.c \
65 $(SRCDIR)/btree_rb.c \
66 $(SRCDIR)/build.c \
67 $(SRCDIR)/copy.c \
68 $(SRCDIR)/date.c \
69 $(SRCDIR)/delete.c \
70 $(SRCDIR)/encode.c \
71 $(SRCDIR)/expr.c \
72 $(SRCDIR)/func.c \
73 $(SRCDIR)/hash.c \
74 $(SRCDIR)/insert.c \
75 $(SRCDIR)/main.c \
73 opcodes.c \
74 $(SRCDIR)/os.c \
75 $(SRCDIR)/pager.c \
76 $(SRCDIR)/os.c \
77 $(SRCDIR)/pager.c \
76 parse.c \
77 $(SRCDIR)/pragma.c \
78 $(SRCDIR)/printf.c \
79 $(SRCDIR)/random.c \
80 $(SRCDIR)/select.c \
81 $(SRCDIR)/table.c \
82 $(SRCDIR)/tokenize.c \
83 $(SRCDIR)/update.c \
84 $(SRCDIR)/util.c \

--- 8 unchanged lines hidden (view full) ---

93
94CERRWARN += -_gcc=-Wno-implicit-function-declaration
95CERRWARN += -_gcc=-Wno-uninitialized
96CERRWARN += -_gcc=-Wno-unused-function
97CERRWARN += -_gcc=-Wno-unused-label
98
99MAPFILES = ../mapfile-sqlite
100
78 $(SRCDIR)/pragma.c \
79 $(SRCDIR)/printf.c \
80 $(SRCDIR)/random.c \
81 $(SRCDIR)/select.c \
82 $(SRCDIR)/table.c \
83 $(SRCDIR)/tokenize.c \
84 $(SRCDIR)/update.c \
85 $(SRCDIR)/util.c \

--- 8 unchanged lines hidden (view full) ---

94
95CERRWARN += -_gcc=-Wno-implicit-function-declaration
96CERRWARN += -_gcc=-Wno-uninitialized
97CERRWARN += -_gcc=-Wno-unused-function
98CERRWARN += -_gcc=-Wno-unused-label
99
100MAPFILES = ../mapfile-sqlite
101
102# headers generated here
103GENHDR = opcodes.h parse.h
104
101# Header files used by all library source files.
102#
103HDR = \
105# Header files used by all library source files.
106#
107HDR = \
108 $(GENHDR) \
104 $(SRCDIR)/btree.h \
105 $(SRCDIR)/config.h \
106 $(SRCDIR)/hash.h \
109 $(SRCDIR)/btree.h \
110 $(SRCDIR)/config.h \
111 $(SRCDIR)/hash.h \
107 opcodes.h \
108 $(SRCDIR)/os.h \
112 $(SRCDIR)/os.h \
109 parse.h \
110 ../sqlite.h \
111 $(SRCDIR)/sqliteInt.h \
112 $(SRCDIR)/vdbe.h \
113 $(SRCDIR)/vdbeInt.h
114
115#
116# Sources used for test harness
117#

--- 8 unchanged lines hidden (view full) ---

126 $(SRCDIR)/test3.c \
127 $(SRCDIR)/md5.c
128
129TESTOBJS = $(TESTSRC:$(SRCDIR)/%.c=%.o)
130
131TESTCLEAN = $(TESTOBJS) test.db test.tcl test1.bt test2.db testdb
132
133#
113 ../sqlite.h \
114 $(SRCDIR)/sqliteInt.h \
115 $(SRCDIR)/vdbe.h \
116 $(SRCDIR)/vdbeInt.h
117
118#
119# Sources used for test harness
120#

--- 8 unchanged lines hidden (view full) ---

129 $(SRCDIR)/test3.c \
130 $(SRCDIR)/md5.c
131
132TESTOBJS = $(TESTSRC:$(SRCDIR)/%.c=%.o)
133
134TESTCLEAN = $(TESTOBJS) test.db test.tcl test1.bt test2.db testdb
135
136#
134# Native variants
137# Native variant (needed by cmd/configd)
135#
138#
136NATIVERELOC = $(RELOC:%.o=%-native.o)
137NATIVEPROGS = lemon-build testfixture
138NATIVEOBJS = lemon.o $(OBJS:%.o=%-native.o)
139NATIVERELOC = libsqlite-native.o
140NATIVEPROGS = testfixture
141NATIVEOBJS = $(OBJS:%.o=%-native.o)
139
140NATIVETARGETS = $(NATIVEPROGS) $(NATIVEOBJS) $(NATIVERELOC)
141
142$(NATIVETARGETS) := CC = $(NATIVECC)
143$(NATIVETARGETS) := LD = $(NATIVELD)
144$(NATIVETARGETS) := CFLAGS = $(NATIVE_CFLAGS)
145$(NATIVETARGETS) := CPPFLAGS = $(MYCPPFLAGS)
146$(NATIVETARGETS) := LDFLAGS =

--- 11 unchanged lines hidden (view full) ---

158#
159testfixture := CFLAGS += \
160 -erroff=E_ARRAY_OF_INCOMPLETE \
161 -erroff=E_ARG_INCOMPATIBLE_WITH_ARG
162
163testfixture := LDLIBS += -R$(TCLBASE)/lib -L$(TCLBASE)/lib -l$(TCLVERS) -lm -ldl
164
165CLEANFILES += \
142
143NATIVETARGETS = $(NATIVEPROGS) $(NATIVEOBJS) $(NATIVERELOC)
144
145$(NATIVETARGETS) := CC = $(NATIVECC)
146$(NATIVETARGETS) := LD = $(NATIVELD)
147$(NATIVETARGETS) := CFLAGS = $(NATIVE_CFLAGS)
148$(NATIVETARGETS) := CPPFLAGS = $(MYCPPFLAGS)
149$(NATIVETARGETS) := LDFLAGS =

--- 11 unchanged lines hidden (view full) ---

161#
162testfixture := CFLAGS += \
163 -erroff=E_ARRAY_OF_INCOMPLETE \
164 -erroff=E_ARG_INCOMPATIBLE_WITH_ARG
165
166testfixture := LDLIBS += -R$(TCLBASE)/lib -L$(TCLBASE)/lib -l$(TCLVERS) -lm -ldl
167
168CLEANFILES += \
166 $(RELOC) \
167 $(LINTLIB) \
168 $(NATIVETARGETS) \
169 $(TESTCLEAN) \
170 lemon \
171 lemon.o \
172 lempar.c \
173 opcodes.c \
174 opcodes.h \
175 parse_tmp.c \
176 parse_tmp.h \
177 parse_tmp.out \
178 parse_tmp.y \
179 parse.c \
169 $(NATIVETARGETS) \
170 $(TESTCLEAN) \
171 lemon \
172 lemon.o \
173 lempar.c \
174 opcodes.c \
175 opcodes.h \
176 parse_tmp.c \
177 parse_tmp.h \
178 parse_tmp.out \
179 parse_tmp.y \
180 parse.c \
180 parse.h
181 parse.h
181
182ENCODING = ISO8859
183
182
183ENCODING = ISO8859
184
184LINTSRC= ../llib-lsqlite
185
185
186
187.PARALLEL: $(OBJS) $(OBJS:%.o=%-native.o)
188.KEEP_STATE:
189
190# This is the default Makefile target. The objects listed here
191# are what get build when you type just "make" with no arguments.
192#
193all: $(LIBS)
186.PARALLEL: $(OBJS) $(OBJS:%.o=%-native.o)
187.KEEP_STATE:
188
189# This is the default Makefile target. The objects listed here
190# are what get build when you type just "make" with no arguments.
191#
192all: $(LIBS)
194install: all $(ROOTLIBDIR)/$(RELOC) $(ROOTLIBDIR)/$(NATIVERELOC) \
195 $(ROOTLIBDIR)/llib-lsqlite.ln $(SMBSRVLIBDIR)/$(DYNLIB)
193install: all \
194 $(ROOTLIBDIR)/$(DYNLIB) \
195 $(ROOTLIBDIR)/$(LINTLIB) \
196 $(ROOTLIBDIR)/$(NATIVERELOC)
196
197
197$(ROOTLIBDIR)/$(RELOC) := FILEMODE= 644
198$(ROOTLIBDIR)/$(NATIVERELOC) := FILEMODE= 644
199$(ROOTLIBDIR)/llib-lsqlite.ln := FILEMODE= 644
200$(SMBSRVLIBDIR)/$(DYNLIB) := FILEMODE= 755
198lint:
201
199
202$(ROOTLIBDIR)/%: %
203 $(INS.file)
200all_h: $(GENHDR)
204
201
205$(SMBSRVLIBDIR): $(ROOTLIBDIR)
206 $(INS.dir)
202$(ROOTLIBDIR)/$(NATIVERELOC) := FILEMODE= 644
203$(ROOTLINTDIR)/$(LINTLIB) := FILEMODE= 644
207
204
208$(SMBSRVLIBDIR)/%: % $(SMBSRVLIBDIR)
209 $(INS.file)
210
211$(SMBSRVLINK): $(SMBSRVLIBDIR) $(SMBSRVLIBDIR)/$(DYNLIB)
205$(ROOTLINK): $(ROOTLIBDIR) $(ROOTLIBDIR)/$(DYNLIB)
212 $(INS.liblink)
213
206 $(INS.liblink)
207
214$(OBJS) $(OBJS:%.o=%-native.o): $(HDR)
208$(ROOTLINTDIR)/%: ../%
209 $(INS.file)
215
216native: $(NATIVERELOC)
217
210
211native: $(NATIVERELOC)
212
218$(RELOC): objs .WAIT $(OBJS)
219 $(LD) -r $(MAPFILES:%=-M%) -o $(RELOC) $(OBJS)
220 $(CTFMERGE) -t -f -L VERSION -o $(RELOC) $(OBJS)
221
222$(NATIVERELOC): objs .WAIT $(OBJS:%.o=%-native.o)
213$(NATIVERELOC): objs .WAIT $(OBJS:%.o=%-native.o)
223 $(LD) -r $(MAPFILES:%=-M%) -o $(NATIVERELOC) $(OBJS:%.o=%-native.o)
214 $(LD) -r -o $(NATIVERELOC) $(OBJS:%.o=%-native.o)
224
225opcodes.h: $(SRCDIR)/vdbe.c
226 @echo "Generating $@"; \
227 $(RM) -f $@ ; \
228 echo '/* Automatically generated file. Do not edit */' > $@ ; \
229 grep '^case OP_' $(SRCDIR)/vdbe.c | \
230 sed -e 's/://' | \
231 awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >> $@
232
233opcodes.c: $(SRCDIR)/vdbe.c
234 @echo "Generating $@"; \
235 $(RM) -f $@ ; \
236 echo '/* Automatically generated file. Do not edit */' > $@ ; \
237 echo 'char *sqliteOpcodeNames[] = { "???", ' >> $@ ; \
238 grep '^case OP_' $(SRCDIR)/vdbe.c | \
239 sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >> $@ ; \
240 echo '};' >> $@
241
215
216opcodes.h: $(SRCDIR)/vdbe.c
217 @echo "Generating $@"; \
218 $(RM) -f $@ ; \
219 echo '/* Automatically generated file. Do not edit */' > $@ ; \
220 grep '^case OP_' $(SRCDIR)/vdbe.c | \
221 sed -e 's/://' | \
222 awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >> $@
223
224opcodes.c: $(SRCDIR)/vdbe.c
225 @echo "Generating $@"; \
226 $(RM) -f $@ ; \
227 echo '/* Automatically generated file. Do not edit */' > $@ ; \
228 echo 'char *sqliteOpcodeNames[] = { "???", ' >> $@ ; \
229 grep '^case OP_' $(SRCDIR)/vdbe.c | \
230 sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >> $@ ; \
231 echo '};' >> $@
232
242#
243# We use a recursive invocation because otherwise pmake always rebuilds
244# everything, due to multiple expansions of "foo := A += B".
245#
246lemon: FRC
247 $(MAKE) lemon-build
248
249lemon-build: lemon.o $(TOOLDIR)/lempar.c
250 $(LINK.c) -o lemon lemon.o
251 $(RM) lempar.c
252 $(LN) -s $(TOOLDIR)/lempar.c lempar.c
253 $(RM) lemon-build
254 $(CP) lemon lemon-build
255
256testfixture: FRC
257 @if [ -f $(TCLBASE)/include/tcl.h ]; then \
258 unset SUNPRO_DEPENDENCIES; \
259 echo $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\
260 exec $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\
261 else \
262 echo "$(TCLBASE)/include/tcl.h: not found."; \
263 exit 1; \
264 fi
265
233testfixture: FRC
234 @if [ -f $(TCLBASE)/include/tcl.h ]; then \
235 unset SUNPRO_DEPENDENCIES; \
236 echo $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\
237 exec $(LINK.c) -o testfixture $(TESTSRC) $(LIBRARY) $(LDLIBS) ;\
238 else \
239 echo "$(TCLBASE)/include/tcl.h: not found."; \
240 exit 1; \
241 fi
242
266parse_tmp.out: $(SRCDIR)/parse.y lemon
267 $(RM) parse_tmp.y
243parse.h parse.c : $(SRCDIR)/parse.y $(TOOLDIR)/lemon.c $(TOOLDIR)/lempar.c
244 -$(RM) parse_tmp.y lempar.c
268 $(CP) $(SRCDIR)/parse.y parse_tmp.y
245 $(CP) $(SRCDIR)/parse.y parse_tmp.y
246 $(CP) $(TOOLDIR)/lempar.c lempar.c
247 $(NATIVECC) -o lemon $(TOOLDIR)/lemon.c
269 ./lemon parse_tmp.y
248 ./lemon parse_tmp.y
270
271parse.h: parse_tmp.out
249 -$(RM) parse.c parse.h
272 $(CP) parse_tmp.h parse.h
250 $(CP) parse_tmp.h parse.h
273
274parse.c: parse_tmp.out
275 $(CP) parse_tmp.c parse.c
276
251 $(CP) parse_tmp.c parse.c
252
277objs/%-native.o: $(SRCDIR)/%.c
253objs/%-native.o: $(SRCDIR)/%.c $(GENHDR)
278 $(COMPILE.c) -o $@ $<
279 $(POST_PROCESS_O)
280
254 $(COMPILE.c) -o $@ $<
255 $(POST_PROCESS_O)
256
281objs/%-native.o: %.c
257objs/%-native.o: %.c $(GENHDR)
282 $(COMPILE.c) -o $@ $<
283 $(POST_PROCESS_O)
284
258 $(COMPILE.c) -o $@ $<
259 $(POST_PROCESS_O)
260
285objs/parse-native.o: parse.c
261objs/parse-native.o: parse.c $(GENHDR)
286 $(COMPILE.c) -o $@ parse.c
287 $(POST_PROCESS_O)
288
262 $(COMPILE.c) -o $@ parse.c
263 $(POST_PROCESS_O)
264
289objs/%.o: %.c
265objs/%.o pics/%.o: $(SRCDIR)/%.c $(GENHDR)
290 $(COMPILE.c) -o $@ $<
291 $(POST_PROCESS_O)
292
266 $(COMPILE.c) -o $@ $<
267 $(POST_PROCESS_O)
268
293%.o: $(SRCDIR)/%.c
269objs/%.o pics/%.o: %.c $(GENHDR)
294 $(COMPILE.c) -o $@ $<
295 $(POST_PROCESS_O)
296
270 $(COMPILE.c) -o $@ $<
271 $(POST_PROCESS_O)
272
297%.o: $(TOOLDIR)/%.c
298 $(COMPILE.c) -o $@ $<
273# need direct rules for generated files
274objs/opcodes.o pics/opcodes.o: opcodes.c $(GENHDR)
275 $(COMPILE.c) -o $@ opcodes.c
299 $(POST_PROCESS_O)
300
276 $(POST_PROCESS_O)
277
278objs/parse.o pics/parse.o: parse.c $(GENHDR)
279 $(COMPILE.c) -o $@ parse.c
280 $(POST_PROCESS_O)
281
301include $(SRC)/lib/Makefile.targ
302
303FRC:
282include $(SRC)/lib/Makefile.targ
283
284FRC: