Skip to content

Commit 0513366

Browse files
committed
Makefile cleanup. Tested on Ubuntu Linux.
Store executable names in make vars so that the clean target works. Eliminate 'all' target; this target does not work and does not make sense since each target is compiled with different settings.
1 parent 04b1e6c commit 0513366

File tree

1 file changed

+43
-23
lines changed

1 file changed

+43
-23
lines changed

SRC/Makefile

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,77 @@
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
22

3+
# store executable names in make variables so that clean target works
34

5+
executable.server=../BINARIES/ChatScript
46
server: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1
57
server: PGLOAD= -pthread
68
server: INCLUDEDIRS=-Ievserver
7-
server: all
8-
server: EXECUTABLE=../BINARIES/ChatScript
9+
server: binary
10+
server: EXECUTABLE=$(executable.server)
911
server: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing
1012

13+
executable.debugserver=../BINARIES/ChatScriptDebug
1114
debugserver: DEFINES+= -DLOCKUSERFILE=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1
1215
debugserver: PGLOAD= -pthread
1316
debugserver: INCLUDEDIRS=-Ievserver
14-
debugserver: all
15-
debugserver: EXECUTABLE=../BINARIES/ChatScriptDebug
17+
debugserver: binary
18+
debugserver: EXECUTABLE=$(executable.debugserver)
1619
debugserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g
1720

21+
executable.standalone=../BINARIES/ChatScript
1822
standalone: DEFINES+= -DDISCARDSERVER=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DEVSERVER=1 -DEVSERVER_FORK=1
1923
standalone: PGLOAD= -pthread
2024
standalone: INCLUDEDIRS=-Ievserver
21-
standalone: all
22-
standalone: EXECUTABLE=../BINARIES/ChatScript
25+
standalone: binary
26+
standalone: EXECUTABLE=$(executable.standalone)
2327
standalone: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing
2428

29+
executable.pgserver=../BINARIES/ChatScriptpg
2530
pgserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1
2631
pgserver: PGLOAD= -lpq -pthread
27-
pgserver: all
28-
pgserver: EXECUTABLE=../BINARIES/ChatScriptpg
32+
pgserver: binary
33+
pgserver: EXECUTABLE=$(executable.pgserver)
2934
pgserver: INCLUDEDIRS=-Ievserver -Ipostgres
3035
pgserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing
3136

37+
executable.debugpgserver=../BINARIES/ChatScriptpgDebug
3238
debugpgserver: DEFINES+= -DLOCKUSERFILE=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDMONGO=1
3339
debugpgserver: PGLOAD= -lpq -pthread
3440
debugpgserver: INCLUDEDIRS=-Ievserver
35-
debugpgserver: all
36-
debugpgserver: EXECUTABLE=../BINARIES/ChatScriptpgDebug
41+
debugpgserver: binary
42+
debugpgserver: EXECUTABLE=$(executable.debugpgserver)
3743
debugpgserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g
3844

45+
executable.mongoserver=../BINARIES/ChatScriptMongo
3946
mongoserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1
4047
mongoserver: PGLOAD= -pthread
41-
mongoserver: all
42-
mongoserver: EXECUTABLE=../BINARIES/ChatScriptMongo
48+
mongoserver: binary
49+
mongoserver: EXECUTABLE=$(executable.mongoserver)
4350
mongoserver: INCLUDEDIRS=-Iinclude -I/usr/local/include/libbson-1.0 -I/usr/local/include/libmongoc-1.0
4451
mongoserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g
4552

53+
executable.debugmongoserver=../BINARIES/ChatScriptMongoDebug
4654
debugmongoserver: DEFINES+= -DLOCKUSERFILE=1 -DDEBUG -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1
4755
debugmongoserver: PGLOAD= -lpq -pthread
48-
debugmongoserver: all
56+
debugmongoserver: binary
4957
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)
5159
debugmongoserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -g
5260

61+
executable.foreignserver=../BINARIES/ChatScriptForeign
5362
foreignserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -DTREETAGGER=1
5463
foreignserver: PGLOAD= -pthread -L../treetagger -L../BINARIES -ltreetagger
5564
foreignserver: INCLUDEDIRS=-Ievserver
56-
foreignserver: all
57-
foreignserver: EXECUTABLE=../BINARIES/ChatScriptForeign
65+
foreignserver: binary
66+
foreignserver: EXECUTABLE=$(executable.foreignserver)
5867
foreignserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing
5968

69+
executable.mongotreetaggerserver=../BINARIES/ChatScriptMongoForeign
6070
mongotreetaggerserver: DEFINES+= -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMYSQL=1 -DTREETAGGER=1
6171
mongotreetaggerserver: PGLOAD= -pthread -L../treetagger -L../BINARIES -ltreetagger
6272
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)
6575
mongotreetaggerserver: CFLAGS=-c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing
6676

6777
UNAME := $(shell uname)
@@ -95,13 +105,23 @@ endif
95105

96106
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
97107
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
100113

101114
clean:
102-
-rm -f $(EXECUTABLE)
103-
-rm -f ../$(EXECUTABLE)
104115
-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)
105125

106126
binary: $(OBJECTS)
107127
$(CC) $(OBJECTS) $(LDFLAGS) $(DEFINES) $(INCLUDEDIRS) -o $(EXECUTABLE)

0 commit comments

Comments
 (0)