📄 makefile
字号:
# -*- makefile -*-# Makefile for Generic Unix with GCC compilerFAULT_TOLERANT=0# Default install directoryPREFIX ?= /usr/local# Place where to copy GastDB header filesINCSPATH=$(PREFIX)/include/fastdb#Place where to copy Fastdb libraryLIBSPATH=$(PREFIX)/lib#Place where to copy Fastdb subsql utilityBINSPATH=$(PREFIX)/binOBJS = class.o compiler.o database.o hashtab.o file.o symtab.o ttree.o container.o \ cursor.o query.o wwwapi.o unisock.o sync.o localcli.oCLI_OBJS = cli.o unisock.o INCS = fastdb.h stdtp.h class.h database.h cursor.h reference.h wwwapi.h \ cli.h array.h file.h hashtab.h ttree.h container.h sync.h query.h datetime.h ## threads settings - please comment this lines for single-threaded libs#ifdef NO_PTHREADSTFLAGS=-DNO_PTHREADSTHRLIBS=SUFF=elseifneq (,$(findstring freebsd,$(OSTYPE)))TFLAGS=-pthreadTHRLIBS=else TFLAGS=-D_REENTRANT -D_THREAD_SAFETHRLIBS=-lpthreadendifSUFF=_rendifSTDLIBS = -lm $(THRLIBS)ifneq (,$(findstring solaris,$(OSTYPE)))SOCKLIBS = -lnsl -lsocketTFLAGS += -fPICelseSOCKLIBS =endifVERSION=2FASTDB_LIB = libfastdb$(SUFF).a FASTDB_SHARED = libfastdb$(SUFF).so.${VERSION}CLI_LIB = libcli$(SUFF).aCLI_SHARED = libcli$(SUFF).so.${VERSION}EXES = subsql forcerecovery#FASTDB_LIBS=-L. -lfastdb$(SUFF)#CLI_LIBS=-L. -lcli$(SUFF)FASTDB_LIBS=$(FASTDB_LIB)CLI_LIBS=$(CLI_LIB)EXAMPLES = guess testdb testleak testjoin testddl testperf testsync testconc testiref testtrav testidx clitest testraw localclitestWEB_EXAMPLES = cgistub bugdb clidbCC = g++# Possible FastDB compile time parameters (-Dxxx should be added to DEFS macro):# 1. USE_LOCALE_SETTINGS - use C locale for string comparison operations# 2. FASTDB_DEBUG - debug level# - DEBUG_NONE - disable any checking and tracing (except asserts)# - DEBUG_CHECK - disable trace message# - DEBUG_TRACE - enable trace messages # 3. SECURE_SERVER - enable authentication for remote logins: keep user/password table, # check password for remote logins# 4. USE_QUEUE_MANAGER - use queue manager for internal HTTP server. This manager will manage pool# of threads assigned for client connections. Otherwise all requests will be executed sequnetially# in the main loop.# 5. FASTDB_DLL - create gigabase.dll# 6. THROW_EXCEPTION_ON_ERROR - throw C++ exception in case of database error # instead of abort(). Do not forgot to specify -GX option if using exceptions.# 7. IGNORE_CASE - perform all string comparisons as case insensitive# 8. USE_STD_STRING - support of std:;string type for class fields# 9. AUTOINCREMENT_SUPPORT support autoincrement fields (database built with this flag will be # incompatible with database built without it)# 10. CLONE_INDENTIFIERS - do not storef addresses of string constants in symbol table.# This option is needed if DLL library using GigaBASE can be unloaded.# 11. DISKLESS_CONFIGURATION - only in-memory temporary database## 12. USE_POSIX_API use POSIX sem_* sempahores and mmap # instead of SysV semaphores and shared memory# 13. USE_SYSV_SHARED_MEMORY - use SysV IPC shmem instead of mmap. # 14. INT8_IS_DEFINED - int8 type is defined at your system, in this case you should use db_int8 type instead# 15. REPLICATION_SUPPORT - fault tolerant version of FastDB##DEFS =-DTHROW_EXCEPTION_ON_ERROR -DUSE_QUEUE_MANAGER#DEFS = -DUSE_QUEUE_MANAGER -DUSE_LOCALE_SETTINGS -DUSE_SYSV_SHARED_MEMORYDEFS = -DUSE_QUEUE_MANAGER -DUSE_LOCALE_SETTINGS#CFLAGS = $(TFLAGS) -c -Wall -O5 -g $(DEFS) CFLAGS = -c -Wall -O0 -g $(DEFS) $(TFLAGS)#CFLAGS = -c -Wall -O0 -DFASTDB_DEBUG=DEBUG_TRACE -g $(DEFS) $(TFLAGS)SHFLAGS=-sharedLD = $(CC)LDFLAGS = -g $(TFLAGS)AR = arARFLAGS = -cruifneq (,$(findstring freebsd,$(OSTYPE)))RANLIB = ranlibelseRANLIB = trueendififneq (0,$(FAULT_TOLERANT))STDLIBS += $(SOCKLIBS)DEFS += -DREPLICATION_SUPPORTendifall: static shared binsstatic: $(FASTDB_LIB) $(CLI_LIB) shared: $(FASTDB_SHARED) $(CLI_SHARED) bins: $(EXES) $(EXAMPLES) www: $(FASTDB_SHARED) $(WEB_EXAMPLES)class.o: class.cpp compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) class.cppcompiler.o: compiler.cpp compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) compiler.cppquery.o: query.cpp compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) query.cppdatabase.o: database.cpp compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) database.cpplocalcli.o: localcli.cpp compiler.h compiler.d symtab.h localcli.h $(INCS) $(CC) $(CFLAGS) localcli.cppcursor.o: cursor.cpp compiler.h compiler.d $(INCS) $(CC) $(CFLAGS) cursor.cpphashtab.o: hashtab.cpp $(INCS) $(CC) $(CFLAGS) hashtab.cppfile.o: file.cpp $(INCS) $(CC) $(CFLAGS) file.cppsync.o: sync.cpp $(INCS) $(CC) $(CFLAGS) sync.cppsymtab.o: symtab.cpp symtab.h $(INCS) $(CC) $(CFLAGS) symtab.cppttree.o: ttree.cpp $(INCS) $(CC) $(CFLAGS) ttree.cppcontainer.o: container.cpp $(INCS) $(CC) $(CFLAGS) container.cppwwwapi.o: wwwapi.cpp wwwapi.h sockio.h stdtp.h $(CC) $(CFLAGS) wwwapi.cppunisock.o: unisock.cpp unisock.h sockio.h stdtp.h $(CC) $(CFLAGS) unisock.cppcli.o: cli.cpp cli.h cliproto.h $(CC) $(CFLAGS) cli.cpp$(FASTDB_LIB): $(OBJS) rm -f $(FASTDB_LIB) $(AR) $(ARFLAGS) $(FASTDB_LIB) $(OBJS) $(RANLIB) $(FASTDB_LIB)$(FASTDB_SHARED): $(OBJS) rm -f $(FASTDB_SHARED) $(CC) $(SHFLAGS) -o $(FASTDB_SHARED) $(OBJS) ln -f -s $(FASTDB_SHARED) libfastdb$(SUFF).so$(CLI_LIB): $(CLI_OBJS) rm -f $(CLI_LIB) $(AR) $(ARFLAGS) $(CLI_LIB) $(CLI_OBJS) $(RANLIB) $(CLI_LIB)$(CLI_SHARED): $(CLI_OBJS) rm -f $(CLI_SHARED) $(CC) $(SHFLAGS) -o $(CLI_SHARED) $(CLI_OBJS) ln -f -s $(CLI_SHARED) libcli$(SUFF).soclitest.o: clitest.c cli.h $(CC) $(CFLAGS) clitest.cclitest: clitest.o $(CLI_LIB) $(LD) $(LDFLAGS) -o clitest clitest.o $(CLI_LIBS) $(STDLIBS) $(SOCKLIBS)localclitest: clitest.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o localclitest clitest.o $(FASTDB_LIB) $(STDLIBS)subsql.o: subsql.cpp subsql.h compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) subsql.cppifdef NO_PTHREADSsubsql: subsql.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o subsql subsql.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)elseserver.o: server.cpp server.h cli.h cliproto.h subsql.h compiler.h compiler.d symtab.h $(INCS) $(CC) $(CFLAGS) server.cppsubsql: subsql.o server.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o subsql subsql.o server.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)endifbugdb.o: bugdb.cpp bugdb.h $(INCS) $(CC) $(CFLAGS) bugdb.cppbugdb: bugdb.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o bugdb bugdb.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)clidb.o: clidb.cpp clidb.h $(INCS) $(CC) $(CFLAGS) clidb.cppclidb: clidb.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o clidb clidb.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)cgistub.o: cgistub.cpp stdtp.h sockio.h $(CC) $(CFLAGS) cgistub.cpp cgistub: cgistub.o $(LD) $(LDFLAGS) -o cgistub cgistub.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)forcerecovery.o: forcerecovery.cpp database.h $(CC) $(CFLAGS) forcerecovery.cpp forcerecovery: forcerecovery.o $(LD) $(LDFLAGS) -o forcerecovery forcerecovery.oguess.o: guess.cpp $(INCS) $(CC) $(CFLAGS) guess.cpp guess: guess.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o guess guess.o $(FASTDB_LIBS) $(STDLIBS)testdb.o: testdb.cpp $(INCS) $(CC) $(CFLAGS) testdb.cpp testdb: testdb.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testdb testdb.o $(FASTDB_LIBS) $(STDLIBS)testraw.o: testraw.cpp $(INCS) $(CC) $(CFLAGS) testraw.cpp testraw: testraw.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testraw testraw.o $(FASTDB_LIBS) $(STDLIBS)testleak.o: testleak.cpp $(INCS) $(CC) $(CFLAGS) testleak.cpp testleak: testleak.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testleak testleak.o $(FASTDB_LIBS) $(STDLIBS)testjoin.o: testjoin.cpp $(INCS) $(CC) $(CFLAGS) testjoin.cpp testjoin: testjoin.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testjoin testjoin.o $(FASTDB_LIBS) $(STDLIBS)testddl.o: testddl.cpp $(INCS) $(CC) $(CFLAGS) testddl.cpp testddl: testddl.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testddl testddl.o $(FASTDB_LIBS) $(STDLIBS)testperf.o: testperf.cpp $(INCS) $(CC) $(CFLAGS) testperf.cpp testperf: testperf.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testperf testperf.o $(FASTDB_LIBS) $(STDLIBS)testidx.o: testidx.cpp $(INCS) $(CC) $(CFLAGS) testidx.cpp testidx: testidx.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testidx testidx.o $(FASTDB_LIBS) $(STDLIBS)testsync.o: testsync.cpp $(INCS) $(CC) $(CFLAGS) testsync.cpp testsync: testsync.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testsync testsync.o $(FASTDB_LIBS) $(STDLIBS)testconc.o: testconc.cpp $(INCS) $(CC) $(CFLAGS) testconc.cpp testconc: testconc.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testconc testconc.o $(FASTDB_LIBS) $(STDLIBS)testiref.o: testiref.cpp $(INCS) $(CC) $(CFLAGS) testiref.cpp testiref: testiref.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testiref testiref.o $(FASTDB_LIBS) $(STDLIBS)testtrav.o: testtrav.cpp $(INCS) $(CC) $(CFLAGS) testtrav.cpp testtrav: testtrav.o $(FASTDB_LIB) $(LD) $(LDFLAGS) -o testtrav testtrav.o $(FASTDB_LIBS) $(STDLIBS)install: subsql installlib mkdir -p $(BINSPATH) cp subsql $(BINSPATH) strip $(BINSPATH)/subsqlinstalllib: $(FASTDB_LIB) $(CLI_LIB) $(FASTDB_SHARED) $(CLI_SHARED) mkdir -p $(INCSPATH) cp $(INCS) $(INCSPATH) mkdir -p $(LIBSPATH) cp $(FASTDB_LIB) $(CLI_LIB) $(FASTDB_SHARED) $(CLI_SHARED) $(LIBSPATH) cd $(LIBSPATH); ln -f -s $(FASTDB_SHARED) libfastdb$(SUFF).so cd $(LIBSPATH); ln -f -s $(CLI_SHARED) libcli$(SUFF).socleanobj: rm -fr *.o *.tgz core *~ cxx_repositorycleandbs: rm -f *.fdbclean: cleanobj cleandbs rm -f *.a *.so *.so.* $(EXAMPLES) $(WEB_EXAMPLES) $(EXES)tgz: clean cd ..; tar cvzf fastdb.tgz fastdbcopytgz: tgz mcopy -o ../fastdb.tgz a:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -