-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
118 lines (96 loc) · 2.66 KB
/
Makefile
File metadata and controls
118 lines (96 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# $Id: Makefile,v 1.54 2008/04/23 07:46:12 ctubbsii Exp $
#
#Flashback make file
#
#Build command: make clean all
CC=cc
CXX=c++
# Uncomment following CFLAGS to build without debug flag
#CFLAGS=-pthread -Wall -pedantic -D_FILE_OFFSET_BITS=64 -D__BSD_VISIBLE=1
# With debug flag
CFLAGS=-pthread -Wall -pedantic -D_FILE_OFFSET_BITS=64 -D__BSD_VISIBLE=1 -gdwarf-2 -g3 -O0 -fno-builtin
BINNAME=bin/flashback
LIBS=-lsqlite3 -larchive
# -lbz2 -lz
OBJECTS=flashback.o fbCore.o fbThread.o fbCriticalSection.o fbLock.o fbErrorLogger.o \
fbClient.o fbDiskDetector.o fbScheduler.o tcp.o fbSQL.o fbDate.o fbHttpServer.o \
fbSocket.o fbTime.o fbDatabase.o fbData.o fbHttpResponse.o fbConfig.o \
fbBackup.o fbRestore.o urldecode.o
PREFIX= /usr/local
DESTDIR=
DOCROOT= ${PREFIX}/share/flashback
DATABASEROOT= /var/flashback
ifdef DEBUG
CFLAGS += -DDebug -g
BINNAME=bin/flashback_d
else
CFLAGS += -O2
endif
ifdef WIN32
CFLAGS += -DWin32
ifdef DEBUG
BINNAME=bin\flashback_d.exe
else
BINNAME=bin\flashback.exe
endif
LIBS=-lws2_32
endif
#nix
all: clean release
release: flashback
debug:
make flashback DEBUG=yes
clean:
rm -rf bin/
rm -f *.o
rm -rf objects/
rm -rf build/
#windows
win32:
gmake flashback WIN32=yes
win32debug:
gmake flashback WIN32=yes DEBUG=yes
#real part of the make
flashback: ${OBJECTS}
mkdir -p bin
${CXX} ${CFLAGS} ${OBJECTS} ${LIBS} -o ${BINNAME}
mkdir ./objects
mv ${OBJECTS} ./objects
mkdir -p build
mv ./bin ./build
mv ./objects ./build
%.o: %.cpp
${CC} ${CFLAGS} -c -o $@ $<
%.o: %.cpp %.h
${CXX} ${CFLAGS} -c -o $@ $<
%.o: sockets/%.c
${CC} ${CFLAGS} -c -o $@ $<
install:
@echo "Installing Flashback"
mkdir -p ${DESTDIR}${DATABASEROOT}
mkdir -p ${DESTDIR}${DOCROOT}
mkdir -p ${DESTDIR}${PREFIX}/sbin
cp -R www ${DESTDIR}${DOCROOT}
cp README.md ${DESTDIR}${DOCROOT}
cp flashback.db ${DESTDIR}${DATABASEROOT}
cp bin/flashback ${DESTDIR}${PREFIX}/sbin/flashback
chmod 755 ${DESTDIR}${PREFIX}/sbin/flashback
# cp flashback.sh ${DESTDIR}${PREFIX}/etc/rc.d/flashback.sh
# chmod 755 ${DESTDIR}${PREFIX}/etc/rc.d/flashback.sh
dinstall: uninstall
@echo "Installing Flashback Debug Version"
mkdir -p ${DESTDIR}${DATABASEROOT}
mkdir -p ${DESTDIR}${DOCROOT}
cp -R www ${DESTDIR}${DOCROOT}
cp README.md ${DESTDIR}${DOCROOT}
cp flashback.db ${DESTDIR}${DATABASEROOT}
cp bin/flashback_d ${DESTDIR}${PREFIX}/sbin/flashback
chmod 755 ${DESTDIR}${PREFIX}/sbin/flashback
# cp flashback.sh ${DESTDIR}${PREFIX}/etc/rc.d/flashback.sh
# chmod 755 ${DESTDIR}${PREFIX}/etc/rc.d/flashback.sh
uninstall:
rm -rf ${DESTDIR}${DATABASEROOT}
rm -rf ${DESTDIR}${DOCROOT}
rm -f ${DESTDIR}${PREFIX}/sbin/flashback
rm -f /var/log/flashback
# rm -f ${DESTDIR}${PREFIX}/etc/rc.d/flashback.sh