Annotation of embedaddon/sqlite3/Makefile.vxworks, revision 1.1
1.1 ! misho 1: #!/usr/make
! 2: #
! 3: # Makefile for SQLITE on VxWorks
! 4:
! 5: ifeq ($(FORCPU),)
! 6: FORCPU = SH32gnule
! 7: endif
! 8:
! 9: TOOL_FAMILY = gnu
! 10:
! 11: include $(WIND_USR)/tool/gnu/make.$(FORCPU)
! 12:
! 13: #### The toplevel directory of the source tree. This is the directory
! 14: # that contains this "Makefile.in" and the "configure.in" script.
! 15: #
! 16: TOP = .
! 17:
! 18: #### C Compiler and options for use in building executables that
! 19: # will run on the platform that is doing the build.
! 20: #
! 21: BCC = gcc -g -O2
! 22: #BCC = /opt/ancic/bin/c89 -0
! 23:
! 24: #### If the target operating system supports the "usleep()" system
! 25: # call, then define the HAVE_USLEEP macro for all C modules.
! 26: #
! 27: USLEEP =
! 28: #USLEEP = -DHAVE_USLEEP=1
! 29:
! 30: #### If you want the SQLite library to be safe for use within a
! 31: # multi-threaded program, then define the following macro
! 32: # appropriately:
! 33: #
! 34: THREADSAFE = -DSQLITE_THREADSAFE=1
! 35: #THREADSAFE = -DSQLITE_THREADSAFE=0
! 36:
! 37: #### Specify any extra linker options needed to make the library
! 38: # thread safe
! 39: #
! 40: #THREADLIB = -lpthread
! 41: THREADLIB =
! 42:
! 43: #### Specify any extra libraries needed to access required functions.
! 44: #
! 45: ifeq ($(CPU),SH32)
! 46: # for SH4 shared library
! 47: TLIBS_SHARED += -L$(WIND_USR)/lib/sh/SH32/commonle/PIC
! 48: else
! 49: # for all other CPUs shared library
! 50: TLIBS_SHARED += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS)
! 51: endif
! 52: # for static library
! 53: TLIBS += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS)
! 54:
! 55: #### Leave SQLITE_DEBUG undefined for maximum speed. Use SQLITE_DEBUG=1
! 56: # to check for memory leaks. Use SQLITE_DEBUG=2 to print a log of all
! 57: # malloc()s and free()s in order to track down memory leaks.
! 58: #
! 59: # SQLite uses some expensive assert() statements in the inner loop.
! 60: # You can make the library go almost twice as fast if you compile
! 61: # with -DNDEBUG=1
! 62: #
! 63: #OPTS = -DSQLITE_DEBUG=2
! 64: #OPTS = -DSQLITE_DEBUG=1
! 65: #OPTS =
! 66: OPTS = -DNDEBUG=1 -DSQLITE_OS_UNIX=1 $(THREADSAFE)
! 67: OPTS += -DSQLITE_OMIT_LOAD_EXTENSION=1
! 68: OPTS += -DSQLITE_ENABLE_LOCKING_STYLE=1
! 69: OPTS += -DSQLITE_THREAD_OVERRIDE_LOCK=0
! 70: OPTS += -DSQLITE_ENABLE_COLUMN_METADATA=1
! 71: OPTS += -DHAVE_FDATASYNC=1
! 72:
! 73: #### The suffix to add to executable files. ".exe" for windows.
! 74: # Nothing for unix.
! 75: #
! 76: EXE = .vxe
! 77: #EXE =
! 78:
! 79: #### C Compile and options for use in building executables that
! 80: # will run on the target platform. This is usually the same
! 81: # as BCC, unless you are cross-compiling.
! 82: #
! 83: #TCC = gcc -O6
! 84: #TCC = gcc -g -O0 -Wall
! 85: #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
! 86: #TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
! 87: TCC = $(CC) $(DEFINE_CC) -O2 -g -mrtp $(CC_ARCH_SPEC) -D_REENTRANT=1 -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=$(TOOL_FAMILY) -D_VX_TOOL=$(TOOL)
! 88: TCC += -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip
! 89: #TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
! 90:
! 91: #TCC_SHARED = $(TCC) -fPIC
! 92: TCC_SHARED = $(TCC)
! 93:
! 94: #### Tools used to build a static library.
! 95: #
! 96: #ARX = ar cr
! 97: #ARX = /opt/mingw/bin/i386-mingw32-ar cr
! 98: AR += cr
! 99: #RANLIB = ranlib
! 100: #RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
! 101:
! 102: #MKSHLIB = gcc -shared
! 103: #SO = so
! 104: #SHPREFIX = lib
! 105: MKSHLIB = $(CC) $(DEFINE_CC) -mrtp -shared $(CC_ARCH_SPEC) -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=$(TOOL_FAMILY) -D_VX_TOOL=$(TOOL)
! 106: SO = so
! 107: SHPREFIX = lib
! 108:
! 109: #### Extra compiler options needed for programs that use the TCL library.
! 110: #
! 111: #TCL_FLAGS =
! 112: #TCL_FLAGS = -DSTATIC_BUILD=1
! 113: TCL_FLAGS = -I/home/drh/tcltk/8.5linux
! 114: #TCL_FLAGS = -I/home/drh/tcltk/8.5win -DSTATIC_BUILD=1
! 115: #TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
! 116:
! 117: #### Linker options needed to link against the TCL library.
! 118: #
! 119: #LIBTCL = -ltcl -lm -ldl
! 120: LIBTCL = /home/drh/tcltk/8.5linux/libtcl8.5g.a -lm -ldl
! 121: #LIBTCL = /home/drh/tcltk/8.5win/libtcl85s.a -lmsvcrt
! 122: #LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
! 123:
! 124: #### Additional objects for SQLite library when TCL support is enabled.
! 125: TCLOBJ =
! 126: #TCLOBJ = tclsqlite.o
! 127:
! 128: #### Compiler options needed for programs that use the readline() library.
! 129: #
! 130: READLINE_FLAGS =
! 131: #READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
! 132:
! 133: #### Linker options needed by programs using readline() must link against.
! 134: #
! 135: LIBREADLINE =
! 136: #LIBREADLINE = -static -lreadline -ltermcap
! 137:
! 138: #### Which "awk" program provides nawk compatibilty
! 139: #
! 140: # NAWK = nawk
! 141: NAWK = awk
! 142:
! 143:
! 144: #### Pasted and adapted main.mk file
! 145: ###############################################################################
! 146: # The following macros should be defined before this script is
! 147: # invoked:
! 148: #
! 149: # TOP The toplevel directory of the source tree. This is the
! 150: # directory that contains this "Makefile.in" and the
! 151: # "configure.in" script.
! 152: #
! 153: # BCC C Compiler and options for use in building executables that
! 154: # will run on the platform that is doing the build.
! 155: #
! 156: # THREADLIB Specify any extra linker options needed to make the library
! 157: # thread safe
! 158: #
! 159: # OPTS Extra compiler command-line options.
! 160: #
! 161: # EXE The suffix to add to executable files. ".exe" for windows
! 162: # and "" for Unix.
! 163: #
! 164: # TCC C Compiler and options for use in building executables that
! 165: # will run on the target platform. This is usually the same
! 166: # as BCC, unless you are cross-compiling.
! 167: #
! 168: # AR Tools used to build a static library.
! 169: # RANLIB
! 170: #
! 171: # TCL_FLAGS Extra compiler options needed for programs that use the
! 172: # TCL library.
! 173: #
! 174: # LIBTCL Linker options needed to link against the TCL library.
! 175: #
! 176: # READLINE_FLAGS Compiler options needed for programs that use the
! 177: # readline() library.
! 178: #
! 179: # LIBREADLINE Linker options needed by programs using readline() must
! 180: # link against.
! 181: #
! 182: # NAWK Nawk compatible awk program. Older (obsolete?) solaris
! 183: # systems need this to avoid using the original AT&T AWK.
! 184: #
! 185: # Once the macros above are defined, the rest of this make script will
! 186: # build the SQLite library and testing tools.
! 187: ################################################################################
! 188:
! 189: # This is how we compile
! 190: #
! 191: TCCX = $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP)
! 192: TCCX_SHARED = $(TCC_SHARED) $(OPTS) -I. -I$(TOP)/src -I$(TOP) \
! 193: -I$(TOP)/ext/rtree -I$(TOP)/ext/icu -I$(TOP)/ext/fts3 \
! 194: -I$(TOP)/ext/async
! 195:
! 196: # Object files for the SQLite library.
! 197: #
! 198: LIBOBJ+= alter.o analyze.o attach.o auth.o \
! 199: backup.o bitvec.o btmutex.o btree.o build.o \
! 200: callback.o complete.o date.o delete.o expr.o fault.o \
! 201: fts3.o fts3_expr.o fts3_hash.o fts3_icu.o fts3_porter.o \
! 202: fts3_tokenizer.o fts3_tokenizer1.o \
! 203: func.o global.o hash.o \
! 204: icu.o insert.o journal.o legacy.o loadext.o \
! 205: main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \
! 206: memjournal.o \
! 207: mutex.o mutex_noop.o mutex_os2.o mutex_unix.o mutex_w32.o \
! 208: notify.o opcodes.o os.o os_os2.o os_unix.o os_win.o \
! 209: pager.o parse.o pcache.o pcache1.o pragma.o prepare.o printf.o \
! 210: random.o resolve.o rowset.o rtree.o select.o status.o \
! 211: table.o tokenize.o trigger.o \
! 212: update.o util.o vacuum.o \
! 213: vdbe.o vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o \
! 214: walker.o where.o utf.o vtab.o
! 215:
! 216:
! 217:
! 218: # All of the source code files.
! 219: #
! 220: SRC = \
! 221: $(TOP)/src/alter.c \
! 222: $(TOP)/src/analyze.c \
! 223: $(TOP)/src/attach.c \
! 224: $(TOP)/src/auth.c \
! 225: $(TOP)/src/backup.c \
! 226: $(TOP)/src/bitvec.c \
! 227: $(TOP)/src/btmutex.c \
! 228: $(TOP)/src/btree.c \
! 229: $(TOP)/src/btree.h \
! 230: $(TOP)/src/btreeInt.h \
! 231: $(TOP)/src/build.c \
! 232: $(TOP)/src/callback.c \
! 233: $(TOP)/src/complete.c \
! 234: $(TOP)/src/ctime.c \
! 235: $(TOP)/src/date.c \
! 236: $(TOP)/src/delete.c \
! 237: $(TOP)/src/expr.c \
! 238: $(TOP)/src/fault.c \
! 239: $(TOP)/src/func.c \
! 240: $(TOP)/src/global.c \
! 241: $(TOP)/src/hash.c \
! 242: $(TOP)/src/hash.h \
! 243: $(TOP)/src/hwtime.h \
! 244: $(TOP)/src/insert.c \
! 245: $(TOP)/src/journal.c \
! 246: $(TOP)/src/legacy.c \
! 247: $(TOP)/src/loadext.c \
! 248: $(TOP)/src/main.c \
! 249: $(TOP)/src/malloc.c \
! 250: $(TOP)/src/mem0.c \
! 251: $(TOP)/src/mem1.c \
! 252: $(TOP)/src/mem2.c \
! 253: $(TOP)/src/mem3.c \
! 254: $(TOP)/src/mem5.c \
! 255: $(TOP)/src/memjournal.c \
! 256: $(TOP)/src/mutex.c \
! 257: $(TOP)/src/mutex.h \
! 258: $(TOP)/src/mutex_noop.c \
! 259: $(TOP)/src/mutex_os2.c \
! 260: $(TOP)/src/mutex_unix.c \
! 261: $(TOP)/src/mutex_w32.c \
! 262: $(TOP)/src/notify.c \
! 263: $(TOP)/src/os.c \
! 264: $(TOP)/src/os.h \
! 265: $(TOP)/src/os_common.h \
! 266: $(TOP)/src/os_os2.c \
! 267: $(TOP)/src/os_unix.c \
! 268: $(TOP)/src/os_win.c \
! 269: $(TOP)/src/pager.c \
! 270: $(TOP)/src/pager.h \
! 271: $(TOP)/src/parse.y \
! 272: $(TOP)/src/pcache.c \
! 273: $(TOP)/src/pcache.h \
! 274: $(TOP)/src/pcache1.c \
! 275: $(TOP)/src/pragma.c \
! 276: $(TOP)/src/prepare.c \
! 277: $(TOP)/src/printf.c \
! 278: $(TOP)/src/random.c \
! 279: $(TOP)/src/resolve.c \
! 280: $(TOP)/src/rowset.c \
! 281: $(TOP)/src/select.c \
! 282: $(TOP)/src/status.c \
! 283: $(TOP)/src/shell.c \
! 284: $(TOP)/src/sqlite.h.in \
! 285: $(TOP)/src/sqlite3ext.h \
! 286: $(TOP)/src/sqliteInt.h \
! 287: $(TOP)/src/sqliteLimit.h \
! 288: $(TOP)/src/table.c \
! 289: $(TOP)/src/tclsqlite.c \
! 290: $(TOP)/src/tokenize.c \
! 291: $(TOP)/src/trigger.c \
! 292: $(TOP)/src/utf.c \
! 293: $(TOP)/src/update.c \
! 294: $(TOP)/src/util.c \
! 295: $(TOP)/src/vacuum.c \
! 296: $(TOP)/src/vdbe.c \
! 297: $(TOP)/src/vdbe.h \
! 298: $(TOP)/src/vdbeapi.c \
! 299: $(TOP)/src/vdbeaux.c \
! 300: $(TOP)/src/vdbeblob.c \
! 301: $(TOP)/src/vdbemem.c \
! 302: $(TOP)/src/vdbeInt.h \
! 303: $(TOP)/src/vtab.c \
! 304: $(TOP)/src/walker.c \
! 305: $(TOP)/src/where.c
! 306:
! 307: # Source code for extensions
! 308: #
! 309: SRC += \
! 310: $(TOP)/ext/fts1/fts1.c \
! 311: $(TOP)/ext/fts1/fts1.h \
! 312: $(TOP)/ext/fts1/fts1_hash.c \
! 313: $(TOP)/ext/fts1/fts1_hash.h \
! 314: $(TOP)/ext/fts1/fts1_porter.c \
! 315: $(TOP)/ext/fts1/fts1_tokenizer.h \
! 316: $(TOP)/ext/fts1/fts1_tokenizer1.c
! 317: SRC += \
! 318: $(TOP)/ext/fts2/fts2.c \
! 319: $(TOP)/ext/fts2/fts2.h \
! 320: $(TOP)/ext/fts2/fts2_hash.c \
! 321: $(TOP)/ext/fts2/fts2_hash.h \
! 322: $(TOP)/ext/fts2/fts2_icu.c \
! 323: $(TOP)/ext/fts2/fts2_porter.c \
! 324: $(TOP)/ext/fts2/fts2_tokenizer.h \
! 325: $(TOP)/ext/fts2/fts2_tokenizer.c \
! 326: $(TOP)/ext/fts2/fts2_tokenizer1.c
! 327: SRC += \
! 328: $(TOP)/ext/fts3/fts3.c \
! 329: $(TOP)/ext/fts3/fts3.h \
! 330: $(TOP)/ext/fts3/fts3_expr.c \
! 331: $(TOP)/ext/fts3/fts3_expr.h \
! 332: $(TOP)/ext/fts3/fts3_hash.c \
! 333: $(TOP)/ext/fts3/fts3_hash.h \
! 334: $(TOP)/ext/fts3/fts3_icu.c \
! 335: $(TOP)/ext/fts3/fts3_porter.c \
! 336: $(TOP)/ext/fts3/fts3_tokenizer.h \
! 337: $(TOP)/ext/fts3/fts3_tokenizer.c \
! 338: $(TOP)/ext/fts3/fts3_tokenizer1.c
! 339: SRC += \
! 340: $(TOP)/ext/icu/sqliteicu.h \
! 341: $(TOP)/ext/icu/icu.c
! 342: SRC += \
! 343: $(TOP)/ext/rtree/rtree.h \
! 344: $(TOP)/ext/rtree/rtree.c
! 345:
! 346:
! 347: # Generated source code files
! 348: #
! 349: SRC += \
! 350: keywordhash.h \
! 351: opcodes.c \
! 352: opcodes.h \
! 353: parse.c \
! 354: parse.h \
! 355: sqlite3.h
! 356:
! 357:
! 358: # Source code to the test files.
! 359: #
! 360: TESTSRC = \
! 361: $(TOP)/src/test1.c \
! 362: $(TOP)/src/test2.c \
! 363: $(TOP)/src/test3.c \
! 364: $(TOP)/src/test4.c \
! 365: $(TOP)/src/test5.c \
! 366: $(TOP)/src/test6.c \
! 367: $(TOP)/src/test7.c \
! 368: $(TOP)/src/test8.c \
! 369: $(TOP)/src/test9.c \
! 370: $(TOP)/src/test_autoext.c \
! 371: $(TOP)/src/test_async.c \
! 372: $(TOP)/src/test_backup.c \
! 373: $(TOP)/src/test_btree.c \
! 374: $(TOP)/src/test_config.c \
! 375: $(TOP)/src/test_devsym.c \
! 376: $(TOP)/src/test_func.c \
! 377: $(TOP)/src/test_hexio.c \
! 378: $(TOP)/src/test_journal.c \
! 379: $(TOP)/src/test_malloc.c \
! 380: $(TOP)/src/test_md5.c \
! 381: $(TOP)/src/test_mutex.c \
! 382: $(TOP)/src/test_onefile.c \
! 383: $(TOP)/src/test_osinst.c \
! 384: $(TOP)/src/test_pcache.c \
! 385: $(TOP)/src/test_schema.c \
! 386: $(TOP)/src/test_server.c \
! 387: $(TOP)/src/test_tclvar.c \
! 388: $(TOP)/src/test_thread.c \
! 389: $(TOP)/src/test_vfs.c \
! 390: $(TOP)/src/test_wsd.c \
! 391:
! 392: #TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
! 393: #TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c
! 394:
! 395: TESTSRC2 = \
! 396: $(TOP)/src/attach.c $(TOP)/src/backup.c $(TOP)/src/btree.c \
! 397: $(TOP)/src/build.c $(TOP)/src/ctime.c $(TOP)/src/date.c \
! 398: $(TOP)/src/expr.c $(TOP)/src/func.c $(TOP)/src/insert.c $(TOP)/src/os.c \
! 399: $(TOP)/src/os_os2.c $(TOP)/src/os_unix.c $(TOP)/src/os_win.c \
! 400: $(TOP)/src/pager.c $(TOP)/src/pragma.c $(TOP)/src/prepare.c \
! 401: $(TOP)/src/printf.c $(TOP)/src/random.c $(TOP)/src/pcache.c \
! 402: $(TOP)/src/pcache1.c $(TOP)/src/select.c $(TOP)/src/tokenize.c \
! 403: $(TOP)/src/utf.c $(TOP)/src/util.c $(TOP)/src/vdbeapi.c $(TOP)/src/vdbeaux.c \
! 404: $(TOP)/src/vdbe.c $(TOP)/src/vdbemem.c $(TOP)/src/where.c parse.c \
! 405: $(TOP)/ext/fts3/fts3.c $(TOP)/ext/fts3/fts3_expr.c \
! 406: $(TOP)/ext/fts3/fts3_tokenizer.c \
! 407: $(TOP)/ext/async/sqlite3async.c
! 408:
! 409: # Header files used by all library source files.
! 410: #
! 411: HDR = \
! 412: $(TOP)/src/btree.h \
! 413: $(TOP)/src/btreeInt.h \
! 414: $(TOP)/src/hash.h \
! 415: $(TOP)/src/hwtime.h \
! 416: keywordhash.h \
! 417: $(TOP)/src/mutex.h \
! 418: opcodes.h \
! 419: $(TOP)/src/os.h \
! 420: $(TOP)/src/os_common.h \
! 421: $(TOP)/src/pager.h \
! 422: $(TOP)/src/pcache.h \
! 423: parse.h \
! 424: sqlite3.h \
! 425: $(TOP)/src/sqlite3ext.h \
! 426: $(TOP)/src/sqliteInt.h \
! 427: $(TOP)/src/sqliteLimit.h \
! 428: $(TOP)/src/vdbe.h \
! 429: $(TOP)/src/vdbeInt.h
! 430:
! 431: # Header files used by extensions
! 432: #
! 433: EXTHDR += \
! 434: $(TOP)/ext/fts1/fts1.h \
! 435: $(TOP)/ext/fts1/fts1_hash.h \
! 436: $(TOP)/ext/fts1/fts1_tokenizer.h
! 437: EXTHDR += \
! 438: $(TOP)/ext/fts2/fts2.h \
! 439: $(TOP)/ext/fts2/fts2_hash.h \
! 440: $(TOP)/ext/fts2/fts2_tokenizer.h
! 441: EXTHDR += \
! 442: $(TOP)/ext/fts3/fts3.h \
! 443: $(TOP)/ext/fts3/fts3_expr.h \
! 444: $(TOP)/ext/fts3/fts3_hash.h \
! 445: $(TOP)/ext/fts3/fts3_tokenizer.h
! 446: EXTHDR += \
! 447: $(TOP)/ext/rtree/rtree.h
! 448: EXTHDR += \
! 449: $(TOP)/ext/icu/sqliteicu.h
! 450:
! 451: # This is the default Makefile target. The objects listed here
! 452: # are what get build when you type just "make" with no arguments.
! 453: #
! 454: all: sqlite3.h libsqlite3.a sqlite3$(EXE)
! 455:
! 456: libsqlite3.a: $(LIBOBJ)
! 457: $(AR) libsqlite3.a $(LIBOBJ)
! 458: $(RANLIB) libsqlite3.a
! 459:
! 460: $(SHPREFIX)sqlite3.$(SO): $(LIBOBJ)
! 461: $(MKSHLIB) -o $(SHPREFIX)sqlite3.$(SO) $(LIBOBJ) $(TLIBS_SHARED)
! 462:
! 463: sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h
! 464: $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) \
! 465: $(TOP)/src/shell.c \
! 466: $(LIBREADLINE) $(TLIBS) $(THREADLIB) -L. -lsqlite3
! 467:
! 468: # This target creates a directory named "tsrc" and fills it with
! 469: # copies of all of the C source code and header files needed to
! 470: # build on the target system. Some of the C source code and header
! 471: # files are automatically generated. This target takes care of
! 472: # all that automatic generation.
! 473: #
! 474: target_source: $(SRC)
! 475: rm -rf tsrc
! 476: mkdir tsrc
! 477: cp -f $(SRC) tsrc
! 478: rm tsrc/sqlite.h.in tsrc/parse.y
! 479: touch target_source
! 480:
! 481: sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl
! 482: tclsh $(TOP)/tool/mksqlite3c.tcl
! 483: cp sqlite3.c tclsqlite3.c
! 484: cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c
! 485:
! 486: fts2amal.c: target_source $(TOP)/ext/fts2/mkfts2amal.tcl
! 487: tclsh $(TOP)/ext/fts2/mkfts2amal.tcl
! 488:
! 489: fts3amal.c: target_source $(TOP)/ext/fts3/mkfts3amal.tcl
! 490: tclsh $(TOP)/ext/fts3/mkfts3amal.tcl
! 491:
! 492: # Rules to build the LEMON compiler generator
! 493: #
! 494: lemon: $(TOP)/tool/lemon.c $(TOP)/src/lempar.c
! 495: $(BCC) -o lemon $(TOP)/tool/lemon.c
! 496: cp $(TOP)/src/lempar.c .
! 497:
! 498: # Rules to build individual *.o files from generated *.c files. This
! 499: # applies to:
! 500: #
! 501: # parse.o
! 502: # opcodes.o
! 503: #
! 504: %.o: %.c $(HDR)
! 505: $(TCCX_SHARED) -c $<
! 506:
! 507: # Rules to build individual *.o files from files in the src directory.
! 508: #
! 509: %.o: $(TOP)/src/%.c $(HDR)
! 510: $(TCCX_SHARED) -c $<
! 511:
! 512: tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR)
! 513: $(TCCX_SHARED) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c
! 514:
! 515:
! 516:
! 517: # Rules to build opcodes.c and opcodes.h
! 518: #
! 519: opcodes.c: opcodes.h $(TOP)/mkopcodec.awk
! 520: $(NAWK) -f $(TOP)/mkopcodec.awk opcodes.h >opcodes.c
! 521:
! 522: opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk
! 523: cat parse.h $(TOP)/src/vdbe.c | \
! 524: $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
! 525:
! 526: # Rules to build parse.c and parse.h - the outputs of lemon.
! 527: #
! 528: parse.h: parse.c
! 529:
! 530: parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk
! 531: cp $(TOP)/src/parse.y .
! 532: rm -f parse.h
! 533: ./lemon $(OPTS) parse.y
! 534: mv parse.h parse.h.temp
! 535: awk -f $(TOP)/addopcodes.awk parse.h.temp >parse.h
! 536:
! 537: sqlite3.h: $(TOP)/src/sqlite.h.in
! 538: sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \
! 539: -e s/--VERSION-NUMBER--/`cat ${TOP}/VERSION | sed 's/[^0-9]/ /g' | $(NAWK) '{printf "%d%03d%03d",$$1,$$2,$$3}'`/ \
! 540: $(TOP)/src/sqlite.h.in >sqlite3.h
! 541:
! 542: keywordhash.h: $(TOP)/tool/mkkeywordhash.c
! 543: $(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c
! 544: ./mkkeywordhash >keywordhash.h
! 545:
! 546:
! 547:
! 548: # Rules to build the extension objects.
! 549: #
! 550: icu.o: $(TOP)/ext/icu/icu.c $(HDR) $(EXTHDR)
! 551: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/icu/icu.c
! 552:
! 553: fts2.o: $(TOP)/ext/fts2/fts2.c $(HDR) $(EXTHDR)
! 554: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2.c
! 555:
! 556: fts2_hash.o: $(TOP)/ext/fts2/fts2_hash.c $(HDR) $(EXTHDR)
! 557: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_hash.c
! 558:
! 559: fts2_icu.o: $(TOP)/ext/fts2/fts2_icu.c $(HDR) $(EXTHDR)
! 560: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_icu.c
! 561:
! 562: fts2_porter.o: $(TOP)/ext/fts2/fts2_porter.c $(HDR) $(EXTHDR)
! 563: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_porter.c
! 564:
! 565: fts2_tokenizer.o: $(TOP)/ext/fts2/fts2_tokenizer.c $(HDR) $(EXTHDR)
! 566: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer.c
! 567:
! 568: fts2_tokenizer1.o: $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR)
! 569: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer1.c
! 570:
! 571: fts3.o: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR)
! 572: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c
! 573:
! 574: fts3_expr.o: $(TOP)/ext/fts3/fts3_expr.c $(HDR) $(EXTHDR)
! 575: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_expr.c
! 576:
! 577: fts3_hash.o: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
! 578: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c
! 579:
! 580: fts3_icu.o: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR)
! 581: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c
! 582:
! 583: fts3_porter.o: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR)
! 584: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c
! 585:
! 586: fts3_tokenizer.o: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR)
! 587: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c
! 588:
! 589: fts3_tokenizer1.o: $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR)
! 590: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c
! 591:
! 592: rtree.o: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
! 593: $(TCCX_SHARED) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
! 594:
! 595:
! 596: # Rules for building test programs and for running tests
! 597: #
! 598: tclsqlite3: $(TOP)/src/tclsqlite.c libsqlite3.a
! 599: $(TCCX_SHARED) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \
! 600: $(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB)
! 601:
! 602:
! 603: # Rules to build the 'testfixture' application.
! 604: #
! 605: TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
! 606: TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
! 607:
! 608: testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
! 609: $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
! 610: $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \
! 611: -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a
! 612:
! 613: amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
! 614: $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
! 615: $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \
! 616: -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
! 617:
! 618: fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c
! 619: $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
! 620: -DSQLITE_ENABLE_FTS3=1 \
! 621: $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c fts3amal.c \
! 622: -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
! 623:
! 624: fulltest: testfixture$(EXE) sqlite3$(EXE)
! 625: ./testfixture$(EXE) $(TOP)/test/all.test
! 626:
! 627: soaktest: testfixture$(EXE) sqlite3$(EXE)
! 628: ./testfixture$(EXE) $(TOP)/test/all.test -soak=1
! 629:
! 630: test: testfixture$(EXE) sqlite3$(EXE)
! 631: ./testfixture$(EXE) $(TOP)/test/veryquick.test
! 632:
! 633: sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \
! 634: $(TOP)/tool/spaceanal.tcl
! 635: sed \
! 636: -e '/^#/d' \
! 637: -e 's,\\,\\\\,g' \
! 638: -e 's,",\\",g' \
! 639: -e 's,^,",' \
! 640: -e 's,$$,\\n",' \
! 641: $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h
! 642: $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \
! 643: -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -DSQLITE_PRIVATE="" \
! 644: $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \
! 645: -o sqlite3_analyzer$(EXE) \
! 646: $(LIBTCL) $(THREADLIB)
! 647:
! 648: TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO)
! 649: $(TEST_EXTENSION): $(TOP)/src/test_loadext.c
! 650: $(MKSHLIB) $(TOP)/src/test_loadext.c -o $(TEST_EXTENSION)
! 651:
! 652: extensiontest: testfixture$(EXE) $(TEST_EXTENSION)
! 653: ./testfixture$(EXE) $(TOP)/test/loadext.test
! 654:
! 655: clean:
! 656: rm -f *.o sqlite3$(EXE) libsqlite3.a sqlite3.h opcodes.*
! 657: rm -f lemon lempar.c parse.* sqlite*.tar.gz mkkeywordhash keywordhash.h
! 658: rm -f $(PUBLISH)
! 659: rm -f *.da *.bb *.bbg gmon.out
! 660: rm -rf tsrc target_source
! 661: rm -f testloadext.dll libtestloadext.so
! 662: rm -f sqlite3.c fts?amal.c tclsqlite3.c
! 663: rm -f $(SHPREFIX)sqlite3.$(SO)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>