Makefile.
[public/pos.git] / database / Makefile
1 # POS\r
2 \r
3 CXX = g++\r
4 ifndef NDEBUG\r
5 CXXFLAGS = -g -O0 -Wall -I/users/m4burns/thrift/include/thrift -I. -Igen-cpp\r
6 else\r
7 CXXFLAGS = -O3 -fexpensive-optimizations -ffast-math -fno-math-errno -Wall -I/users/m4burns/thrift/include/thrift -I. -Igen-cpp\r
8 endif\r
9 LDFLAGS = /users/m4burns/thrift/lib//libthrift.a\r
10 \r
11 SOURCES = ConfigFile.cpp db.cpp db_if.cpp linus_sha1.c log.cpp nameserver.cpp sha1.cpp gen-cpp/pos_constants.cpp gen-cpp/Pos.cpp gen-cpp/pos_types.cpp\r
12 \r
13 CPPOBJECTS = $(patsubst %.cpp,%.o,$(SOURCES))\r
14 OBJECTS = $(patsubst %.c,%.o,$(CPPOBJECTS))\r
15 CPPDEPS = $(patsubst %.cpp,%.d,$(SOURCES))\r
16 DEPS = $(patsubst %.c,%.d,$(CPPDEPS))\r
17 \r
18 SERVER = server\r
19 CLIENT = client\r
20 \r
21 ##################################################################\r
22 \r
23 .PHONY : all clean\r
24 \r
25 all : $(SERVER) $(CLIENT)\r
26 \r
27 %.d : %.cpp\r
28         $(CXX) -MM $(CXXFLAGS) $^ > $@\r
29 \r
30 %.d : %.c\r
31         $(CXX) -MM $(CXXFLAGS) $^ > $@\r
32 \r
33 ifneq ($(MAKECMDGOALS),clean)\r
34 -include $(DEPS)\r
35 endif\r
36 \r
37 %.o : %.cpp\r
38         $(CXX) $(CXXFLAGS) -c -o $@ $<\r
39 \r
40 %.o : %.c\r
41         $(CXX) $(CXXFLAGS) -c -o $@ $<\r
42 \r
43 $(SERVER) : $(OBJECTS) gen-cpp/Pos_server.skeleton.o\r
44         $(CXX) $(CXXFLAGS) $(OBJECTS) gen-cpp/Pos_server.skeleton.o -o $@ $(LDFLAGS)\r
45 \r
46 $(CLIENT) : $(OBJECTS) client.o\r
47         $(CXX) $(CXXFLAGS) $(OBJECTS) client.o -o $@ $(LDFLAGS)\r
48 \r
49 #################################################################\r
50 \r
51 clean :\r
52         rm -f *.o gen-cpp/*.o $(SERVER) $(CLIENT) *.d gen-cpp/*.d\r
53 \r