Annotation of embedaddon/sqlite3/main.mk, revision 1.1

1.1     ! misho       1: ###############################################################################
        !             2: # The following macros should be defined before this script is
        !             3: # invoked:
        !             4: #
        !             5: # TOP              The toplevel directory of the source tree.  This is the
        !             6: #                  directory that contains this "Makefile.in" and the
        !             7: #                  "configure.in" script.
        !             8: #
        !             9: # BCC              C Compiler and options for use in building executables that
        !            10: #                  will run on the platform that is doing the build.
        !            11: #
        !            12: # THREADLIB        Specify any extra linker options needed to make the library
        !            13: #                  thread safe
        !            14: #
        !            15: # OPTS             Extra compiler command-line options.
        !            16: #
        !            17: # EXE              The suffix to add to executable files.  ".exe" for windows
        !            18: #                  and "" for Unix.
        !            19: #
        !            20: # TCC              C Compiler and options for use in building executables that 
        !            21: #                  will run on the target platform.  This is usually the same
        !            22: #                  as BCC, unless you are cross-compiling.
        !            23: #
        !            24: # AR               Tools used to build a static library.
        !            25: # RANLIB
        !            26: #
        !            27: # TCL_FLAGS        Extra compiler options needed for programs that use the
        !            28: #                  TCL library.
        !            29: #
        !            30: # LIBTCL           Linker options needed to link against the TCL library.
        !            31: #
        !            32: # READLINE_FLAGS   Compiler options needed for programs that use the
        !            33: #                  readline() library.
        !            34: #
        !            35: # LIBREADLINE      Linker options needed by programs using readline() must
        !            36: #                  link against.
        !            37: #
        !            38: # NAWK             Nawk compatible awk program.  Older (obsolete?) solaris
        !            39: #                  systems need this to avoid using the original AT&T AWK.
        !            40: #
        !            41: # Once the macros above are defined, the rest of this make script will
        !            42: # build the SQLite library and testing tools.
        !            43: ################################################################################
        !            44: 
        !            45: # This is how we compile
        !            46: #
        !            47: TCCX =  $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP) 
        !            48: TCCX += -I$(TOP)/ext/rtree -I$(TOP)/ext/icu -I$(TOP)/ext/fts3
        !            49: TCCX += -I$(TOP)/ext/async
        !            50: 
        !            51: # Object files for the SQLite library.
        !            52: #
        !            53: LIBOBJ+= alter.o analyze.o attach.o auth.o \
        !            54:          backup.o bitvec.o btmutex.o btree.o build.o \
        !            55:          callback.o complete.o ctime.o date.o delete.o expr.o fault.o fkey.o \
        !            56:          fts3.o fts3_aux.o fts3_expr.o fts3_hash.o fts3_icu.o fts3_porter.o \
        !            57:          fts3_snippet.o fts3_tokenizer.o fts3_tokenizer1.o \
        !            58:          fts3_write.o func.o global.o hash.o \
        !            59:          icu.o insert.o journal.o legacy.o loadext.o \
        !            60:          main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \
        !            61:          memjournal.o \
        !            62:          mutex.o mutex_noop.o mutex_os2.o mutex_unix.o mutex_w32.o \
        !            63:          notify.o opcodes.o os.o os_os2.o os_unix.o os_win.o \
        !            64:          pager.o parse.o pcache.o pcache1.o pragma.o prepare.o printf.o \
        !            65:          random.o resolve.o rowset.o rtree.o select.o status.o \
        !            66:          table.o tokenize.o trigger.o \
        !            67:          update.o util.o vacuum.o \
        !            68:          vdbe.o vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o vdbesort.o \
        !            69:         vdbetrace.o wal.o walker.o where.o utf.o vtab.o
        !            70: 
        !            71: 
        !            72: 
        !            73: # All of the source code files.
        !            74: #
        !            75: SRC = \
        !            76:   $(TOP)/src/alter.c \
        !            77:   $(TOP)/src/analyze.c \
        !            78:   $(TOP)/src/attach.c \
        !            79:   $(TOP)/src/auth.c \
        !            80:   $(TOP)/src/backup.c \
        !            81:   $(TOP)/src/bitvec.c \
        !            82:   $(TOP)/src/btmutex.c \
        !            83:   $(TOP)/src/btree.c \
        !            84:   $(TOP)/src/btree.h \
        !            85:   $(TOP)/src/btreeInt.h \
        !            86:   $(TOP)/src/build.c \
        !            87:   $(TOP)/src/callback.c \
        !            88:   $(TOP)/src/complete.c \
        !            89:   $(TOP)/src/ctime.c \
        !            90:   $(TOP)/src/date.c \
        !            91:   $(TOP)/src/delete.c \
        !            92:   $(TOP)/src/expr.c \
        !            93:   $(TOP)/src/fault.c \
        !            94:   $(TOP)/src/fkey.c \
        !            95:   $(TOP)/src/func.c \
        !            96:   $(TOP)/src/global.c \
        !            97:   $(TOP)/src/hash.c \
        !            98:   $(TOP)/src/hash.h \
        !            99:   $(TOP)/src/hwtime.h \
        !           100:   $(TOP)/src/insert.c \
        !           101:   $(TOP)/src/journal.c \
        !           102:   $(TOP)/src/legacy.c \
        !           103:   $(TOP)/src/loadext.c \
        !           104:   $(TOP)/src/main.c \
        !           105:   $(TOP)/src/malloc.c \
        !           106:   $(TOP)/src/mem0.c \
        !           107:   $(TOP)/src/mem1.c \
        !           108:   $(TOP)/src/mem2.c \
        !           109:   $(TOP)/src/mem3.c \
        !           110:   $(TOP)/src/mem5.c \
        !           111:   $(TOP)/src/memjournal.c \
        !           112:   $(TOP)/src/mutex.c \
        !           113:   $(TOP)/src/mutex.h \
        !           114:   $(TOP)/src/mutex_noop.c \
        !           115:   $(TOP)/src/mutex_os2.c \
        !           116:   $(TOP)/src/mutex_unix.c \
        !           117:   $(TOP)/src/mutex_w32.c \
        !           118:   $(TOP)/src/notify.c \
        !           119:   $(TOP)/src/os.c \
        !           120:   $(TOP)/src/os.h \
        !           121:   $(TOP)/src/os_common.h \
        !           122:   $(TOP)/src/os_os2.c \
        !           123:   $(TOP)/src/os_unix.c \
        !           124:   $(TOP)/src/os_win.c \
        !           125:   $(TOP)/src/pager.c \
        !           126:   $(TOP)/src/pager.h \
        !           127:   $(TOP)/src/parse.y \
        !           128:   $(TOP)/src/pcache.c \
        !           129:   $(TOP)/src/pcache.h \
        !           130:   $(TOP)/src/pcache1.c \
        !           131:   $(TOP)/src/pragma.c \
        !           132:   $(TOP)/src/prepare.c \
        !           133:   $(TOP)/src/printf.c \
        !           134:   $(TOP)/src/random.c \
        !           135:   $(TOP)/src/resolve.c \
        !           136:   $(TOP)/src/rowset.c \
        !           137:   $(TOP)/src/select.c \
        !           138:   $(TOP)/src/status.c \
        !           139:   $(TOP)/src/shell.c \
        !           140:   $(TOP)/src/sqlite.h.in \
        !           141:   $(TOP)/src/sqlite3ext.h \
        !           142:   $(TOP)/src/sqliteInt.h \
        !           143:   $(TOP)/src/sqliteLimit.h \
        !           144:   $(TOP)/src/table.c \
        !           145:   $(TOP)/src/tclsqlite.c \
        !           146:   $(TOP)/src/tokenize.c \
        !           147:   $(TOP)/src/trigger.c \
        !           148:   $(TOP)/src/utf.c \
        !           149:   $(TOP)/src/update.c \
        !           150:   $(TOP)/src/util.c \
        !           151:   $(TOP)/src/vacuum.c \
        !           152:   $(TOP)/src/vdbe.c \
        !           153:   $(TOP)/src/vdbe.h \
        !           154:   $(TOP)/src/vdbeapi.c \
        !           155:   $(TOP)/src/vdbeaux.c \
        !           156:   $(TOP)/src/vdbeblob.c \
        !           157:   $(TOP)/src/vdbemem.c \
        !           158:   $(TOP)/src/vdbesort.c \
        !           159:   $(TOP)/src/vdbetrace.c \
        !           160:   $(TOP)/src/vdbeInt.h \
        !           161:   $(TOP)/src/vtab.c \
        !           162:   $(TOP)/src/wal.c \
        !           163:   $(TOP)/src/wal.h \
        !           164:   $(TOP)/src/walker.c \
        !           165:   $(TOP)/src/where.c
        !           166: 
        !           167: # Source code for extensions
        !           168: #
        !           169: SRC += \
        !           170:   $(TOP)/ext/fts1/fts1.c \
        !           171:   $(TOP)/ext/fts1/fts1.h \
        !           172:   $(TOP)/ext/fts1/fts1_hash.c \
        !           173:   $(TOP)/ext/fts1/fts1_hash.h \
        !           174:   $(TOP)/ext/fts1/fts1_porter.c \
        !           175:   $(TOP)/ext/fts1/fts1_tokenizer.h \
        !           176:   $(TOP)/ext/fts1/fts1_tokenizer1.c
        !           177: SRC += \
        !           178:   $(TOP)/ext/fts2/fts2.c \
        !           179:   $(TOP)/ext/fts2/fts2.h \
        !           180:   $(TOP)/ext/fts2/fts2_hash.c \
        !           181:   $(TOP)/ext/fts2/fts2_hash.h \
        !           182:   $(TOP)/ext/fts2/fts2_icu.c \
        !           183:   $(TOP)/ext/fts2/fts2_porter.c \
        !           184:   $(TOP)/ext/fts2/fts2_tokenizer.h \
        !           185:   $(TOP)/ext/fts2/fts2_tokenizer.c \
        !           186:   $(TOP)/ext/fts2/fts2_tokenizer1.c
        !           187: SRC += \
        !           188:   $(TOP)/ext/fts3/fts3.c \
        !           189:   $(TOP)/ext/fts3/fts3.h \
        !           190:   $(TOP)/ext/fts3/fts3Int.h \
        !           191:   $(TOP)/ext/fts3/fts3_aux.c \
        !           192:   $(TOP)/ext/fts3/fts3_expr.c \
        !           193:   $(TOP)/ext/fts3/fts3_hash.c \
        !           194:   $(TOP)/ext/fts3/fts3_hash.h \
        !           195:   $(TOP)/ext/fts3/fts3_icu.c \
        !           196:   $(TOP)/ext/fts3/fts3_porter.c \
        !           197:   $(TOP)/ext/fts3/fts3_snippet.c \
        !           198:   $(TOP)/ext/fts3/fts3_tokenizer.h \
        !           199:   $(TOP)/ext/fts3/fts3_tokenizer.c \
        !           200:   $(TOP)/ext/fts3/fts3_tokenizer1.c \
        !           201:   $(TOP)/ext/fts3/fts3_write.c
        !           202: SRC += \
        !           203:   $(TOP)/ext/icu/sqliteicu.h \
        !           204:   $(TOP)/ext/icu/icu.c
        !           205: SRC += \
        !           206:   $(TOP)/ext/rtree/rtree.h \
        !           207:   $(TOP)/ext/rtree/rtree.c
        !           208: 
        !           209: 
        !           210: # Generated source code files
        !           211: #
        !           212: SRC += \
        !           213:   keywordhash.h \
        !           214:   opcodes.c \
        !           215:   opcodes.h \
        !           216:   parse.c \
        !           217:   parse.h \
        !           218:   sqlite3.h
        !           219: 
        !           220: 
        !           221: # Source code to the test files.
        !           222: #
        !           223: TESTSRC = \
        !           224:   $(TOP)/ext/fts3/fts3_term.c \
        !           225:   $(TOP)/ext/fts3/fts3_test.c \
        !           226:   $(TOP)/src/test1.c \
        !           227:   $(TOP)/src/test2.c \
        !           228:   $(TOP)/src/test3.c \
        !           229:   $(TOP)/src/test4.c \
        !           230:   $(TOP)/src/test5.c \
        !           231:   $(TOP)/src/test6.c \
        !           232:   $(TOP)/src/test7.c \
        !           233:   $(TOP)/src/test8.c \
        !           234:   $(TOP)/src/test9.c \
        !           235:   $(TOP)/src/test_autoext.c \
        !           236:   $(TOP)/src/test_async.c \
        !           237:   $(TOP)/src/test_backup.c \
        !           238:   $(TOP)/src/test_btree.c \
        !           239:   $(TOP)/src/test_config.c \
        !           240:   $(TOP)/src/test_demovfs.c \
        !           241:   $(TOP)/src/test_devsym.c \
        !           242:   $(TOP)/src/test_func.c \
        !           243:   $(TOP)/src/test_fuzzer.c \
        !           244:   $(TOP)/src/test_hexio.c \
        !           245:   $(TOP)/src/test_init.c \
        !           246:   $(TOP)/src/test_intarray.c \
        !           247:   $(TOP)/src/test_journal.c \
        !           248:   $(TOP)/src/test_malloc.c \
        !           249:   $(TOP)/src/test_multiplex.c \
        !           250:   $(TOP)/src/test_mutex.c \
        !           251:   $(TOP)/src/test_onefile.c \
        !           252:   $(TOP)/src/test_osinst.c \
        !           253:   $(TOP)/src/test_pcache.c \
        !           254:   $(TOP)/src/test_quota.c \
        !           255:   $(TOP)/src/test_rtree.c \
        !           256:   $(TOP)/src/test_schema.c \
        !           257:   $(TOP)/src/test_server.c \
        !           258:   $(TOP)/src/test_stat.c \
        !           259:   $(TOP)/src/test_superlock.c \
        !           260:   $(TOP)/src/test_syscall.c \
        !           261:   $(TOP)/src/test_tclvar.c \
        !           262:   $(TOP)/src/test_thread.c \
        !           263:   $(TOP)/src/test_vfs.c \
        !           264:   $(TOP)/src/test_wholenumber.c \
        !           265:   $(TOP)/src/test_wsd.c
        !           266: 
        !           267: #TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
        !           268: #TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c
        !           269: 
        !           270: TESTSRC2 = \
        !           271:   $(TOP)/src/attach.c \
        !           272:   $(TOP)/src/backup.c \
        !           273:   $(TOP)/src/btree.c \
        !           274:   $(TOP)/src/build.c \
        !           275:   $(TOP)/src/date.c \
        !           276:   $(TOP)/src/expr.c \
        !           277:   $(TOP)/src/func.c \
        !           278:   $(TOP)/src/insert.c \
        !           279:   $(TOP)/src/wal.c \
        !           280:   $(TOP)/src/mem5.c \
        !           281:   $(TOP)/src/os.c \
        !           282:   $(TOP)/src/os_os2.c \
        !           283:   $(TOP)/src/os_unix.c \
        !           284:   $(TOP)/src/os_win.c \
        !           285:   $(TOP)/src/pager.c \
        !           286:   $(TOP)/src/pragma.c \
        !           287:   $(TOP)/src/prepare.c \
        !           288:   $(TOP)/src/printf.c \
        !           289:   $(TOP)/src/random.c \
        !           290:   $(TOP)/src/pcache.c \
        !           291:   $(TOP)/src/pcache1.c \
        !           292:   $(TOP)/src/select.c \
        !           293:   $(TOP)/src/tokenize.c \
        !           294:   $(TOP)/src/utf.c \
        !           295:   $(TOP)/src/util.c \
        !           296:   $(TOP)/src/vdbeapi.c \
        !           297:   $(TOP)/src/vdbeaux.c \
        !           298:   $(TOP)/src/vdbe.c \
        !           299:   $(TOP)/src/vdbemem.c \
        !           300:   $(TOP)/src/where.c \
        !           301:   parse.c \
        !           302:   $(TOP)/ext/fts3/fts3.c \
        !           303:   $(TOP)/ext/fts3/fts3_aux.c \
        !           304:   $(TOP)/ext/fts3/fts3_expr.c \
        !           305:   $(TOP)/ext/fts3/fts3_tokenizer.c \
        !           306:   $(TOP)/ext/fts3/fts3_write.c \
        !           307:   $(TOP)/ext/async/sqlite3async.c
        !           308: 
        !           309: # Header files used by all library source files.
        !           310: #
        !           311: HDR = \
        !           312:    $(TOP)/src/btree.h \
        !           313:    $(TOP)/src/btreeInt.h \
        !           314:    $(TOP)/src/hash.h \
        !           315:    $(TOP)/src/hwtime.h \
        !           316:    keywordhash.h \
        !           317:    $(TOP)/src/mutex.h \
        !           318:    opcodes.h \
        !           319:    $(TOP)/src/os.h \
        !           320:    $(TOP)/src/os_common.h \
        !           321:    $(TOP)/src/pager.h \
        !           322:    $(TOP)/src/pcache.h \
        !           323:    parse.h  \
        !           324:    sqlite3.h  \
        !           325:    $(TOP)/src/sqlite3ext.h \
        !           326:    $(TOP)/src/sqliteInt.h  \
        !           327:    $(TOP)/src/sqliteLimit.h \
        !           328:    $(TOP)/src/vdbe.h \
        !           329:    $(TOP)/src/vdbeInt.h
        !           330: 
        !           331: # Header files used by extensions
        !           332: #
        !           333: EXTHDR += \
        !           334:   $(TOP)/ext/fts1/fts1.h \
        !           335:   $(TOP)/ext/fts1/fts1_hash.h \
        !           336:   $(TOP)/ext/fts1/fts1_tokenizer.h
        !           337: EXTHDR += \
        !           338:   $(TOP)/ext/fts2/fts2.h \
        !           339:   $(TOP)/ext/fts2/fts2_hash.h \
        !           340:   $(TOP)/ext/fts2/fts2_tokenizer.h
        !           341: EXTHDR += \
        !           342:   $(TOP)/ext/fts3/fts3.h \
        !           343:   $(TOP)/ext/fts3/fts3Int.h \
        !           344:   $(TOP)/ext/fts3/fts3_hash.h \
        !           345:   $(TOP)/ext/fts3/fts3_tokenizer.h
        !           346: EXTHDR += \
        !           347:   $(TOP)/ext/rtree/rtree.h
        !           348: EXTHDR += \
        !           349:   $(TOP)/ext/icu/sqliteicu.h
        !           350: 
        !           351: # This is the default Makefile target.  The objects listed here
        !           352: # are what get build when you type just "make" with no arguments.
        !           353: #
        !           354: all:   sqlite3.h libsqlite3.a sqlite3$(EXE)
        !           355: 
        !           356: libsqlite3.a:  $(LIBOBJ)
        !           357:        $(AR) libsqlite3.a $(LIBOBJ)
        !           358:        $(RANLIB) libsqlite3.a
        !           359: 
        !           360: sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h
        !           361:        $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE)                  \
        !           362:                $(TOP)/src/shell.c                                  \
        !           363:                libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB)
        !           364: 
        !           365: sqlite3.o:     sqlite3.c
        !           366:        $(TCCX) -c sqlite3.c
        !           367: 
        !           368: # This target creates a directory named "tsrc" and fills it with
        !           369: # copies of all of the C source code and header files needed to
        !           370: # build on the target system.  Some of the C source code and header
        !           371: # files are automatically generated.  This target takes care of
        !           372: # all that automatic generation.
        !           373: #
        !           374: target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl
        !           375:        rm -rf tsrc
        !           376:        mkdir tsrc
        !           377:        cp -f $(SRC) tsrc
        !           378:        rm tsrc/sqlite.h.in tsrc/parse.y
        !           379:        tclsh $(TOP)/tool/vdbe-compress.tcl <tsrc/vdbe.c >vdbe.new
        !           380:        mv vdbe.new tsrc/vdbe.c
        !           381:        touch target_source
        !           382: 
        !           383: sqlite3.c:     target_source $(TOP)/tool/mksqlite3c.tcl
        !           384:        tclsh $(TOP)/tool/mksqlite3c.tcl
        !           385:        echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c
        !           386:        cat sqlite3.c >>tclsqlite3.c
        !           387:        echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c
        !           388:        cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c
        !           389: 
        !           390: sqlite3.c-debug:       target_source $(TOP)/tool/mksqlite3c.tcl
        !           391:        tclsh $(TOP)/tool/mksqlite3c.tcl --linemacros
        !           392:        echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c
        !           393:        cat sqlite3.c >>tclsqlite3.c
        !           394:        echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c
        !           395:        echo '#line 1 "tclsqlite.c"' >>tclsqlite3.c
        !           396:        cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c
        !           397: 
        !           398: sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl
        !           399:        tclsh $(TOP)/tool/split-sqlite3c.tcl
        !           400: 
        !           401: fts2amal.c:    target_source $(TOP)/ext/fts2/mkfts2amal.tcl
        !           402:        tclsh $(TOP)/ext/fts2/mkfts2amal.tcl
        !           403: 
        !           404: fts3amal.c:    target_source $(TOP)/ext/fts3/mkfts3amal.tcl
        !           405:        tclsh $(TOP)/ext/fts3/mkfts3amal.tcl
        !           406: 
        !           407: # Rules to build the LEMON compiler generator
        !           408: #
        !           409: lemon: $(TOP)/tool/lemon.c $(TOP)/src/lempar.c
        !           410:        $(BCC) -o lemon $(TOP)/tool/lemon.c
        !           411:        cp $(TOP)/src/lempar.c .
        !           412: 
        !           413: # Rules to build individual *.o files from generated *.c files. This
        !           414: # applies to:
        !           415: #
        !           416: #     parse.o
        !           417: #     opcodes.o
        !           418: #
        !           419: %.o: %.c $(HDR)
        !           420:        $(TCCX) -c $<
        !           421: 
        !           422: # Rules to build individual *.o files from files in the src directory.
        !           423: #
        !           424: %.o: $(TOP)/src/%.c $(HDR)
        !           425:        $(TCCX) -c $<
        !           426: 
        !           427: tclsqlite.o:   $(TOP)/src/tclsqlite.c $(HDR)
        !           428:        $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c
        !           429: 
        !           430: 
        !           431: 
        !           432: # Rules to build opcodes.c and opcodes.h
        !           433: #
        !           434: opcodes.c:     opcodes.h $(TOP)/mkopcodec.awk
        !           435:        $(NAWK) -f $(TOP)/mkopcodec.awk opcodes.h >opcodes.c
        !           436: 
        !           437: opcodes.h:     parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk
        !           438:        cat parse.h $(TOP)/src/vdbe.c | \
        !           439:                $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
        !           440: 
        !           441: # Rules to build parse.c and parse.h - the outputs of lemon.
        !           442: #
        !           443: parse.h:       parse.c
        !           444: 
        !           445: parse.c:       $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk
        !           446:        cp $(TOP)/src/parse.y .
        !           447:        rm -f parse.h
        !           448:        ./lemon $(OPTS) parse.y
        !           449:        mv parse.h parse.h.temp
        !           450:        $(NAWK) -f $(TOP)/addopcodes.awk parse.h.temp >parse.h
        !           451: 
        !           452: sqlite3.h:     $(TOP)/src/sqlite.h.in $(TOP)/manifest.uuid $(TOP)/VERSION
        !           453:        tclsh $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h
        !           454: 
        !           455: keywordhash.h: $(TOP)/tool/mkkeywordhash.c
        !           456:        $(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c
        !           457:        ./mkkeywordhash >keywordhash.h
        !           458: 
        !           459: 
        !           460: 
        !           461: # Rules to build the extension objects.
        !           462: #
        !           463: icu.o: $(TOP)/ext/icu/icu.c $(HDR) $(EXTHDR)
        !           464:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/icu/icu.c
        !           465: 
        !           466: fts2.o:        $(TOP)/ext/fts2/fts2.c $(HDR) $(EXTHDR)
        !           467:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2.c
        !           468: 
        !           469: fts2_hash.o:   $(TOP)/ext/fts2/fts2_hash.c $(HDR) $(EXTHDR)
        !           470:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_hash.c
        !           471: 
        !           472: fts2_icu.o:    $(TOP)/ext/fts2/fts2_icu.c $(HDR) $(EXTHDR)
        !           473:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_icu.c
        !           474: 
        !           475: fts2_porter.o: $(TOP)/ext/fts2/fts2_porter.c $(HDR) $(EXTHDR)
        !           476:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_porter.c
        !           477: 
        !           478: fts2_tokenizer.o:      $(TOP)/ext/fts2/fts2_tokenizer.c $(HDR) $(EXTHDR)
        !           479:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer.c
        !           480: 
        !           481: fts2_tokenizer1.o:     $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR)
        !           482:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer1.c
        !           483: 
        !           484: fts3.o:        $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR)
        !           485:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c
        !           486: 
        !           487: fts3_aux.o:    $(TOP)/ext/fts3/fts3_aux.c $(HDR) $(EXTHDR)
        !           488:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_aux.c
        !           489: 
        !           490: fts3_expr.o:   $(TOP)/ext/fts3/fts3_expr.c $(HDR) $(EXTHDR)
        !           491:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_expr.c
        !           492: 
        !           493: fts3_hash.o:   $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
        !           494:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c
        !           495: 
        !           496: fts3_icu.o:    $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR)
        !           497:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c
        !           498: 
        !           499: fts3_snippet.o:        $(TOP)/ext/fts3/fts3_snippet.c $(HDR) $(EXTHDR)
        !           500:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_snippet.c
        !           501: 
        !           502: fts3_porter.o: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR)
        !           503:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c
        !           504: 
        !           505: fts3_tokenizer.o:      $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR)
        !           506:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c
        !           507: 
        !           508: fts3_tokenizer1.o:     $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR)
        !           509:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c
        !           510: 
        !           511: fts3_write.o:  $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
        !           512:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_write.c
        !           513: 
        !           514: rtree.o:       $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
        !           515:        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
        !           516: 
        !           517: 
        !           518: # Rules for building test programs and for running tests
        !           519: #
        !           520: tclsqlite3:    $(TOP)/src/tclsqlite.c libsqlite3.a
        !           521:        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \
        !           522:                $(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB)
        !           523: 
        !           524: sqlite3_analyzer.c: sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
        !           525:        echo "#define TCLSH 2" > $@
        !           526:        cat sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c >> $@
        !           527:        echo "static const char *tclsh_main_loop(void){" >> $@
        !           528:        echo "static const char *zMainloop = " >> $@
        !           529:        $(NAWK) -f $(TOP)/tool/tostr.awk $(TOP)/tool/spaceanal.tcl >> $@
        !           530:        echo "; return zMainloop; }" >> $@
        !           531: 
        !           532: sqlite3_analyzer$(EXE): sqlite3_analyzer.c
        !           533:        $(TCCX) $(TCL_FLAGS) sqlite3_analyzer.c -o $@ $(LIBTCL) $(THREADLIB) 
        !           534: 
        !           535: # Rules to build the 'testfixture' application.
        !           536: #
        !           537: TESTFIXTURE_FLAGS  = -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
        !           538: TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE 
        !           539: 
        !           540: testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
        !           541:        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
        !           542:                $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c                \
        !           543:                -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a
        !           544: 
        !           545: amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
        !           546:        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
        !           547:                $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c                  \
        !           548:                -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
        !           549: 
        !           550: fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c
        !           551:        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
        !           552:        -DSQLITE_ENABLE_FTS3=1                                               \
        !           553:                $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c fts3amal.c       \
        !           554:                -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
        !           555: 
        !           556: fulltest:      testfixture$(EXE) sqlite3$(EXE)
        !           557:        ./testfixture$(EXE) $(TOP)/test/all.test
        !           558: 
        !           559: soaktest:      testfixture$(EXE) sqlite3$(EXE)
        !           560:        ./testfixture$(EXE) $(TOP)/test/all.test -soak=1
        !           561: 
        !           562: test:  testfixture$(EXE) sqlite3$(EXE)
        !           563:        ./testfixture$(EXE) $(TOP)/test/veryquick.test
        !           564: 
        !           565: # The next two rules are used to support the "threadtest" target. Building
        !           566: # threadtest runs a few thread-safety tests that are implemented in C. This
        !           567: # target is invoked by the releasetest.tcl script.
        !           568: # 
        !           569: threadtest3$(EXE): sqlite3.o $(TOP)/test/threadtest3.c $(TOP)/test/tt3_checkpoint.c
        !           570:        $(TCCX) -O2 sqlite3.o $(TOP)/test/threadtest3.c \
        !           571:                -o threadtest3$(EXE) $(THREADLIB)
        !           572: 
        !           573: threadtest: threadtest3$(EXE)
        !           574:        ./threadtest3$(EXE)
        !           575: 
        !           576: TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO)
        !           577: $(TEST_EXTENSION): $(TOP)/src/test_loadext.c
        !           578:        $(MKSHLIB) $(TOP)/src/test_loadext.c -o $(TEST_EXTENSION)
        !           579: 
        !           580: extensiontest: testfixture$(EXE) $(TEST_EXTENSION)
        !           581:        ./testfixture$(EXE) $(TOP)/test/loadext.test
        !           582: 
        !           583: # This target will fail if the SQLite amalgamation contains any exported
        !           584: # symbols that do not begin with "sqlite3_". It is run as part of the
        !           585: # releasetest.tcl script.
        !           586: #
        !           587: checksymbols: sqlite3.o
        !           588:        nm -g --defined-only sqlite3.o | grep -v " sqlite3_" ; test $$? -ne 0
        !           589: 
        !           590: 
        !           591: # Standard install and cleanup targets
        !           592: #
        !           593: install:       sqlite3 libsqlite3.a sqlite3.h
        !           594:        mv sqlite3 /usr/bin
        !           595:        mv libsqlite3.a /usr/lib
        !           596:        mv sqlite3.h /usr/include
        !           597: 
        !           598: clean: 
        !           599:        rm -f *.o sqlite3 sqlite3.exe libsqlite3.a sqlite3.h opcodes.*
        !           600:        rm -f lemon lemon.exe lempar.c parse.* sqlite*.tar.gz
        !           601:        rm -f mkkeywordhash mkkeywordhash.exe keywordhash.h
        !           602:        rm -f $(PUBLISH)
        !           603:        rm -f *.da *.bb *.bbg gmon.out
        !           604:        rm -rf tsrc target_source
        !           605:        rm -f testloadext.dll libtestloadext.so
        !           606:        rm -f amalgamation-testfixture amalgamation-testfixture.exe
        !           607:        rm -f fts3-testfixture fts3-testfixture.exe
        !           608:        rm -f testfixture testfixture.exe
        !           609:        rm -f threadtest3 threadtest3.exe
        !           610:        rm -f sqlite3.c fts?amal.c tclsqlite3.c
        !           611:        rm -f sqlite3_analyzer sqlite3_analyzer.exe sqlite3_analyzer.c

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>