]> git.stg.codes - stg.git/blob - projects/sgauthstress/Makefile
Allow user-defined 'ar' and 'ranlib'.
[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) $(LIBICONV)
19
20 ifeq ($(OS),linux)
21 LIBS += -ldl
22 else
23 LIBS += -lintl \
24         -lc
25 endif
26
27 SEARCH_DIRS = -I ../../include
28
29 OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS))))
30
31 CXXFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
32 CFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
33
34 ifneq ($(OS),darwin)
35 LDFLAGS += -Wl,-E
36 endif
37
38 LDFLAGS += $(STGLIBS_LIBS)
39
40 .PHONY: all clean distclean libs plugins
41 all: libs plugins $(PROG) ../../Makefile.conf
42
43 libs:
44         $(MAKE) -C $(DIR_LIBSRC)
45
46 plugins: libs
47         $(MAKE) -C $(DIR_PLUGINS)
48
49 $(PROG): $(OBJS)
50         $(CXX) $^ $(LDFLAGS) $(LIBS) -o $(PROG)
51
52 clean:
53         rm -f deps $(PROG) *.o *.*~
54         $(MAKE) -C $(DIR_LIBSRC) clean
55         $(MAKE) -C $(DIR_PLUGINS) clean
56
57 distclean: clean
58         rm -f ../../Makefile.conf
59
60 ifneq ($(MAKECMDGOALS),distclean)
61 ifneq ($(MAKECMDGOALS),clean)
62 ifneq ($(MAKECMDGOALS),uninstall)
63 -include deps
64 endif
65 endif
66 endif
67
68 deps:   $(SRCS) ../../Makefile.conf
69         $(MAKE) -C $(DIR_LIBSRC)
70         @>deps ;\
71         for file in $(SRCS); do\
72           echo "$$file" | grep ".c$$" > /dev/null;\
73           if [ $$? -eq 0 ];\
74           then\
75             echo "`$(CC) $(CFLAGS) -MM $$file` Makefile" >> deps ;\
76             printf '%b\n' '\t$$(CC) $(CFLAGS) -c $$<' >> deps ;\
77           else\
78             echo "`$(CXX) $(CXXFLAGS) -MM $$file` Makefile" >> deps ;\
79             printf '%b\n' '\t$$(CXX) $(CXXFLAGS) -c $$<' >> deps ;\
80           fi;\
81         done