📄 makefile.sun
字号:
# -*- makefile -*-
# Makefile for Generic Unix with GCC compiler
FAULT_TOLERANT=0
# Default install directory
PREFIX ?= /usr/local
# Place where to copy GastDB header files
INCSPATH=$(PREFIX)/include/fastdb
#Place where to copy Fastdb library
LIBSPATH=$(PREFIX)/lib
#Place where to copy Fastdb subsql utility
BINSPATH=$(PREFIX)/bin
OBJS = 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.o
CLI_OBJS = cli.o unisock.o repsock.o
INCS = fastdb.h stdtp.h config.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 sync_unix.h \
query.h datetime.h harray.h timeseries.h exception.h
#
# threads settings - please comment this lines for single-threaded libs
#
ifdef NO_PTHREADS
TFLAGS=-DNO_PTHREADS
THRLIBS=
SUFF=
else
ifneq (,$(findstring FreeBSD,$(OSTYPE)))
TFLAGS=-pthread
THRLIBS=
else
TFLAGS=-D_REENTRANT -D_THREAD_SAFE
THRLIBS=-lpthread
endif
SUFF=_r
endif
STDLIBS = -lm $(THRLIBS)
ifneq (,$(findstring solaris,$(OSTYPE)))
SOCKLIBS = -lnsl -lsocket
TFLAGS += -KPIC
else
SOCKLIBS =
endif
VERSION=2
FASTDB_LIB = libfastdb$(SUFF).a
FASTDB_SHARED = libfastdb$(SUFF).so.${VERSION}
CLI_LIB = libcli$(SUFF).a
CLI_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 clitest2 testalter testraw localclitest testharr
WEB_EXAMPLES = cgistub bugdb clidb
CC = CC
# DEFS macro is deprecatred, edit config.h file instead
DEFS =
#CFLAGS = $(TFLAGS) -c -O5 -g -KPIC $(DEFS)
CFLAGS = -c -O0 -g -KPIC $(DEFS) $(TFLAGS)
#CFLAGS = -c -O0 -KPIC -DFASTDB_DEBUG=DEBUG_TRACE -g $(DEFS) $(TFLAGS)
SHFLAGS=-G -h $@
LD = $(CC)
LDFLAGS = -g $(TFLAGS)
AR = $(CC)
ARFLAGS = -xar -o
ifneq (,$(findstring FreeBSD,$(OSTYPE)))
RANLIB = ranlib
else
RANLIB = true
endif
ifneq (0,$(FAULT_TOLERANT))
STDLIBS += $(SOCKLIBS)
DEFS += -DREPLICATION_SUPPORT
endif
all: static shared bins
static: $(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.cpp
compiler.o: compiler.cpp compiler.h compiler.d symtab.h $(INCS)
$(CC) $(CFLAGS) compiler.cpp
query.o: query.cpp compiler.h compiler.d symtab.h $(INCS)
$(CC) $(CFLAGS) query.cpp
database.o: database.cpp compiler.h compiler.d symtab.h $(INCS)
$(CC) $(CFLAGS) database.cpp
localcli.o: localcli.cpp compiler.h compiler.d symtab.h localcli.h $(INCS)
$(CC) $(CFLAGS) localcli.cpp
cursor.o: cursor.cpp compiler.h compiler.d $(INCS)
$(CC) $(CFLAGS) cursor.cpp
hashtab.o: hashtab.cpp $(INCS)
$(CC) $(CFLAGS) hashtab.cpp
file.o: file.cpp $(INCS)
$(CC) $(CFLAGS) file.cpp
sync.o: sync.cpp $(INCS)
$(CC) $(CFLAGS) sync.cpp
symtab.o: symtab.cpp symtab.h $(INCS)
$(CC) $(CFLAGS) symtab.cpp
ttree.o: ttree.cpp $(INCS)
$(CC) $(CFLAGS) ttree.cpp
container.o: container.cpp $(INCS)
$(CC) $(CFLAGS) container.cpp
wwwapi.o: wwwapi.cpp wwwapi.h sockio.h stdtp.h sync.h config.h sync_unix.h
$(CC) $(CFLAGS) wwwapi.cpp
unisock.o: unisock.cpp unisock.h sockio.h stdtp.h
$(CC) $(CFLAGS) unisock.cpp
repsock.o: repsock.cpp unisock.h sockio.h stdtp.h sync.h sync_unix.h config.h
$(CC) $(CFLAGS) repsock.cpp
cli.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) $(THRLIBS)
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) $(THRLIBS)
ln -f -s $(CLI_SHARED) libcli$(SUFF).so
clitest.o: clitest.c cli.h
$(CC) $(CFLAGS) clitest.c
clitest: clitest.o $(CLI_LIB)
$(LD) $(LDFLAGS) -o clitest clitest.o $(CLI_LIBS) $(STDLIBS) $(SOCKLIBS)
clitest2.o: clitest2.c cli.h
$(CC) $(CFLAGS) clitest2.c
clitest2: clitest2.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o clitest2 clitest2.o $(FASTDB_LIB) $(STDLIBS)
testalter.o: testalter.c cli.h
$(CC) $(CFLAGS) testalter.c
testalter: testalter.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o testalter testalter.o $(FASTDB_LIB) $(STDLIBS)
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.cpp
ifdef NO_PTHREADS
subsql: subsql.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o subsql subsql.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)
else
server.o: server.cpp server.h cli.h cliproto.h subsql.h compiler.h compiler.d symtab.h $(INCS)
$(CC) $(CFLAGS) server.cpp
subsql: subsql.o server.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o subsql subsql.o server.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)
endif
bugdb.o: bugdb.cpp bugdb.h $(INCS)
$(CC) $(CFLAGS) bugdb.cpp
bugdb: bugdb.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o bugdb bugdb.o $(FASTDB_LIBS) $(STDLIBS) $(SOCKLIBS)
clidb.o: clidb.cpp clidb.h $(INCS)
$(CC) $(CFLAGS) clidb.cpp
clidb: 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.o
guess.o: guess.cpp $(INCS)
$(CC) $(CFLAGS) guess.cpp
guess: guess.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o guess guess.o $(FASTDB_LIBS) $(STDLIBS)
testharr.o: testharr.cpp $(INCS)
$(CC) $(CFLAGS) testharr.cpp
testharr: testharr.o $(FASTDB_LIB)
$(LD) $(LDFLAGS) -o testharr testharr.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)/subsql
installlib: $(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).so
uninstall:
rm -fr $(INCSPATH)
cd $(LIBSPATH); rm -f $(FASTDB_LIB) $(CLI_LIB) $(FASTDB_SHARED) $(CLI_SHARED) libfastdb$(SUFF).so libcli$(SUFF).so
rm $(BINSPATH)/subsql
cleanobj:
rm -fr *.o *.tgz core *~ cxx_repository
cleandbs:
rm -f *.fdb
clean: cleanobj cleandbs
rm -f *.a *.so *.so.* $(EXAMPLES) $(WEB_EXAMPLES) $(EXES)
tgz: clean
cd ..; tar cvzf fastdb.tgz fastdb
copytgz: tgz
mcopy -o ../fastdb.tgz a:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -