|
1 | | -.PHONY = all clean binary server debugserver standalone pgserver debugpgserver mongoserver debugmongoserver foreignserver mongotreetaggerserver |
| 1 | +.PHONY = clean binary server debugserver standalone pgserver debugpgserver mongoserver debugmongoserver foreignserver mongotreetaggerserver |
2 | 2 |
|
| 3 | +# store executable names in make variables so that clean target works |
3 | 4 |
|
| 5 | +executable.server=../BINARIES/ChatScript |
4 | 6 | server: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 |
5 | 7 | server: PGLOAD= -pthread |
6 | 8 | server: INCLUDEDIRS=-Ievserver |
7 | | -server: all |
8 | | -server: EXECUTABLE=../BINARIES/ChatScript |
| 9 | +server: binary |
| 10 | +server: EXECUTABLE=$(executable.server) |
9 | 11 | server: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing |
10 | 12 |
|
| 13 | +executable.debugserver=../BINARIES/ChatScriptDebug |
11 | 14 | debugserver: DEFINES+= -DLOCKUSERFILE=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1 |
12 | 15 | debugserver: PGLOAD= -pthread |
13 | 16 | debugserver: INCLUDEDIRS=-Ievserver |
14 | | -debugserver: all |
15 | | -debugserver: EXECUTABLE=../BINARIES/ChatScriptDebug |
| 17 | +debugserver: binary |
| 18 | +debugserver: EXECUTABLE=$(executable.debugserver) |
16 | 19 | debugserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g |
17 | 20 |
|
| 21 | +executable.standalone=../BINARIES/ChatScript |
18 | 22 | standalone: DEFINES+= -DDISCARDSERVER=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DEVSERVER=1 -DEVSERVER_FORK=1 |
19 | 23 | standalone: PGLOAD= -pthread |
20 | 24 | standalone: INCLUDEDIRS=-Ievserver |
21 | | -standalone: all |
22 | | -standalone: EXECUTABLE=../BINARIES/ChatScript |
| 25 | +standalone: binary |
| 26 | +standalone: EXECUTABLE=$(executable.standalone) |
23 | 27 | standalone: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing |
24 | 28 |
|
| 29 | +executable.pgserver=../BINARIES/ChatScriptpg |
25 | 30 | pgserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 |
26 | 31 | pgserver: PGLOAD= -lpq -pthread |
27 | | -pgserver: all |
28 | | -pgserver: EXECUTABLE=../BINARIES/ChatScriptpg |
| 32 | +pgserver: binary |
| 33 | +pgserver: EXECUTABLE=$(executable.pgserver) |
29 | 34 | pgserver: INCLUDEDIRS=-Ievserver -Ipostgres |
30 | 35 | pgserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing |
31 | 36 |
|
| 37 | +executable.debugpgserver=../BINARIES/ChatScriptpgDebug |
32 | 38 | debugpgserver: DEFINES+= -DLOCKUSERFILE=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDMONGO=1 |
33 | 39 | debugpgserver: PGLOAD= -lpq -pthread |
34 | 40 | debugpgserver: INCLUDEDIRS=-Ievserver |
35 | | -debugpgserver: all |
36 | | -debugpgserver: EXECUTABLE=../BINARIES/ChatScriptpgDebug |
| 41 | +debugpgserver: binary |
| 42 | +debugpgserver: EXECUTABLE=$(executable.debugpgserver) |
37 | 43 | debugpgserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g |
38 | 44 |
|
| 45 | +executable.mongoserver=../BINARIES/ChatScriptMongo |
39 | 46 | mongoserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1 |
40 | 47 | mongoserver: PGLOAD= -pthread |
41 | | -mongoserver: all |
42 | | -mongoserver: EXECUTABLE=../BINARIES/ChatScriptMongo |
| 48 | +mongoserver: binary |
| 49 | +mongoserver: EXECUTABLE=$(executable.mongoserver) |
43 | 50 | mongoserver: INCLUDEDIRS=-Iinclude -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 |
44 | 51 | mongoserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g |
45 | 52 |
|
| 53 | +executable.debugmongoserver=../BINARIES/ChatScriptMongoDebug |
46 | 54 | debugmongoserver: DEFINES+= -DLOCKUSERFILE=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1 |
47 | 55 | debugmongoserver: PGLOAD= -lpq -pthread |
48 | | -debugmongoserver: all |
| 56 | +debugmongoserver: binary |
49 | 57 | debugmongoserver: INCLUDEDIRS=-Iinclude -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 |
50 | | -debugmongoserver: EXECUTABLE=../BINARIES/ChatScriptMongoDebug |
| 58 | +debugmongoserver: EXECUTABLE=$(executable.debugmongoserver) |
51 | 59 | debugmongoserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g |
52 | 60 |
|
| 61 | +executable.foreignserver=../BINARIES/ChatScriptForeign |
53 | 62 | foreignserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DTREETAGGER=1 |
54 | 63 | foreignserver: PGLOAD= -pthread -L../treetagger -L../BINARIES -ltreetagger |
55 | 64 | foreignserver: INCLUDEDIRS=-Ievserver |
56 | | -foreignserver: all |
57 | | -foreignserver: EXECUTABLE=../BINARIES/ChatScriptForeign |
| 65 | +foreignserver: binary |
| 66 | +foreignserver: EXECUTABLE=$(executable.foreignserver) |
58 | 67 | foreignserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing |
59 | 68 |
|
| 69 | +executable.mongotreetaggerserver=../BINARIES/ChatScriptMongoForeign |
60 | 70 | mongotreetaggerserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1 -DTREETAGGER=1 |
61 | 71 | mongotreetaggerserver: PGLOAD= -pthread -L../treetagger -L../BINARIES -ltreetagger |
62 | 72 | mongotreetaggerserver: INCLUDEDIRS=-Iinclude -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0 |
63 | | -mongotreetaggerserver: all |
64 | | -mongotreetaggerserver: EXECUTABLE=../BINARIES/ChatScriptMongoForeign |
| 73 | +mongotreetaggerserver: binary |
| 74 | +mongotreetaggerserver: EXECUTABLE=$(executable.mongotreetaggerserver) |
65 | 75 | mongotreetaggerserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing |
66 | 76 |
|
67 | 77 | UNAME := $(shell uname) |
@@ -95,13 +105,23 @@ endif |
95 | 105 |
|
96 | 106 | SOURCES=constructCode.cpp duktape/duktape.c evserver.cpp csocket.cpp cs_ev.c dictionarySystem.cpp englishTagger.cpp factSystem.cpp json.cpp functionExecute.cpp english.cpp infer.cpp javascript.cpp jsmn.cpp markSystem.cpp mongodb.cpp os.cpp outputSystem.cpp patternSystem.cpp postgres.cpp privatesrc.cpp scriptCompile.cpp spellcheck.cpp secure.cpp systemVariables.cpp tagger.cpp testing.cpp textUtilities.cpp tokenSystem.cpp topicSystem.cpp userCache.cpp userSystem.cpp variableSystem.cpp mainSystem.cpp |
97 | 107 | OBJECTS=$(SOURCES:.cpp=.o) |
98 | | - |
99 | | -all: $(SOURCES) binary |
| 108 | + |
| 109 | +# all target does make sense since each build target requires a different set of defines |
| 110 | +# so we need to clean before building each target in order compile the right stuff |
| 111 | + |
| 112 | +default: server |
100 | 113 |
|
101 | 114 | clean: |
102 | | - -rm -f $(EXECUTABLE) |
103 | | - -rm -f ../$(EXECUTABLE) |
104 | 115 | -rm -f *.o |
| 116 | + -rm -f $(executable.server) |
| 117 | + -rm -f $(executable.debugserver) |
| 118 | + -rm -f $(executable.standalone) |
| 119 | + -rm -f $(executable.pgserver) |
| 120 | + -rm -f $(executable.debugpgserver) |
| 121 | + -rm -f $(executable.mongoserver) |
| 122 | + -rm -f $(executable.debugmongoserver) |
| 123 | + -rm -f $(executable.foreignserver) |
| 124 | + -rm -f $(executable.mongotreetaggerserver) |
105 | 125 |
|
106 | 126 | binary: $(OBJECTS) |
107 | 127 | $(CC) $(OBJECTS) $(LDFLAGS) $(DEFINES) $(INCLUDEDIRS) -o $(EXECUTABLE) |
|
0 commit comments