]> git.stg.codes - stg.git/blob - projects/rscriptd/Makefile
Fix projects and plugins building system to support new libs
[stg.git] / projects / rscriptd / Makefile
1 ###############################################################################
2 # $Id: Makefile,v 1.18 2010/02/11 12:22:01 faust Exp $
3 ###############################################################################
4
5 include ../../Makefile.conf
6
7 PROG = rscriptd
8
9 SRCS = ./main.cpp \
10        ./listener.cpp \
11        ./pidfile.cpp
12
13 STGLIBS =  logger \
14            locker \
15            common \
16            crypto \
17            scriptexecuter \
18            conffiles
19
20 STGLIBS_INCS = $(addprefix -I ../../stglibs/,$(addsuffix .lib/include,$(STGLIBS)))
21 STGLIBS_LIBS = $(addprefix -L ../../stglibs/,$(addsuffix .lib,$(STGLIBS)))
22
23 LIBS += $(LIB_THREAD) $(addprefix -lstg,$(STGLIBS))
24
25 SEARCH_DIRS = -I ../../include
26
27 OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS))))
28
29 CXXFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
30 CFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS)
31 LDFLAGS += -Wl,-E $(STGLIBS_LIBS)
32
33 .PHONY: all clean distclean libs install uninstall
34 all: libs $(PROG) ../../Makefile.conf
35
36 libs:
37         $(MAKE) -C $(DIR_LIBSRC)
38
39 $(PROG): $(OBJS)
40         $(CXX) $^ $(LDFLAGS) $(LIBS) -o $(PROG)
41
42 clean:
43         rm -f deps $(PROG) *.o tags *.*~ .OS
44         rm -f .OS
45         rm -f .store
46         rm -f .db.sql
47         rm -f core*
48         $(MAKE) -C $(DIR_LIBSRC) clean
49
50 distclean: clean
51         rm -f ../../Makefile.conf
52
53 install: install-bin install-data
54
55 install-bin:
56         install -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/sbin/$(PROG)
57         $(MAKE) -C $(DIR_LIBSRC) install
58
59 install-data:
60         # Install etc
61         mkdir -m $(DIR_MODE) -p $(PREFIX)/etc/stargazer
62         install -m $(DATA_MODE) -o $(OWNER) ./rscriptd.conf $(PREFIX)/etc/stargazer/rscriptd.conf
63
64 uninstall: uninstall-bin uninstall-data
65
66 uninstall-bin:
67         rm -f $(PREFIX)/usr/sbin/$(PROG)
68
69 uninstall-data:
70         # Uninstall etc
71         rm -f $(PREFIX)/etc/stragazer/rscriptd.conf
72
73
74 ifneq ($(MAKECMDGOALS),distclean)
75 ifneq ($(MAKECMDGOALS),clean)
76 ifneq ($(MAKECMDGOALS),uninstall)
77 -include deps
78 endif
79 endif
80 endif
81
82 deps:   $(SRCS) ../../Makefile.conf
83         $(MAKE) -C $(DIR_LIBSRC)
84         @>deps ;\
85         for file in $(SRCS); do\
86           echo "`$(CC) $(CXXFLAGS) -MM $$file` Makefile" >> deps ;\
87           echo -e '\t$$(CC) -c $$< $(CXXFLAGS)' >> deps ;\
88         done
89
90