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: |