]> git.stg.codes - stg.git/blob - projects/sgauthstress/Makefile
3cc73a97a2e0c59d4f0fd4394a327c17eb567b61
[stg.git] / projects / sgauthstress / Makefile
1 include ../../Makefile.conf
2
3 PROG = sgauthstress
4
5 SRCS = main.cpp \
6        settings.cpp \
7        store_loader.cpp \
8        user.cpp \
9        proto.cpp
10
11 STGLIBS = dotconfpp \
12           crypto \
13           common
14
15 STGLIBS_INCS = $(addprefix -I ../../stglibs/,$(addsuffix .lib/include,$(STGLIBS)))
16 STGLIBS_LIBS = $(addprefix -L ../../stglibs/,$(addsuffix .lib,$(STGLIBS)))
17
18 LIBS += $(addprefix -lstg,$(STGLIBS)) $(LIB_THREAD)
19
20 ifeq ($(OS),linux)
21 LIBS += -ldl
22 D_FLAG = -D
23 else
24 LIBS += -lintl \
25         -lc \
26         -liconv
27 D_FLAG = -d
28 endif
29
30 SEARCH_DIRS = -I ../../include
31
32 OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS))))
33
34 CXXFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
35 CFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
36 LDFLAGS += -Wl,-E $(STGLIBS_LIBS)
37
38 .PHONY: all clean distclean libs plugins
39 all: libs plugins $(PROG) ../../Makefile.conf
40
41 libs:
42         $(MAKE) -C $(DIR_LIBSRC)
43
44 plugins: libs
45         $(MAKE) -C $(DIR_PLUGINS)
46
47 $(PROG): $(OBJS)
48         $(CXX) $^ $(LDFLAGS) $(LIBS) -o $(PROG)
49
50 clean:
51         rm -f deps $(PROG) *.o *.*~
52         $(MAKE) -C $(DIR_LIBSRC) clean
53         $(MAKE) -C $(DIR_PLUGINS) clean
54
55 distclean: clean
56         rm -f ../../Makefile.conf
57
58 ifneq ($(MAKECMDGOALS),distclean)
59 ifneq ($(MAKECMDGOALS),clean)
60 ifneq ($(MAKECMDGOALS),uninstall)
61 -include deps
62 endif
63 endif
64 endif
65
66 deps:   $(SRCS) ../../Makefile.conf
67         $(MAKE) -C $(DIR_LIBSRC)
68         @>deps ;\
69         for file in $(SRCS); do\
70           echo "$$file" | grep ".c$$" > /dev/null;\
71           if [ $$? -eq 0 ];\
72           then\
73             echo "`$(CC) $(CFLAGS) -MM $$file` Makefile" >> deps ;\
74             printf '%b\n' '\t$$(CC) $(CFLAGS) -c $$<' >> deps ;\
75           else\
76             echo "`$(CXX) $(CXXFLAGS) -MM $$file` Makefile" >> deps ;\
77             printf '%b\n' '\t$$(CXX) $(CXXFLAGS) -c $$<' >> deps ;\
78           fi;\
79         done