6 INCS = -Iinclude -I3rdparty/snmp++/include
7 CXXFLAGS += -W -Wall -Wextra $(INCS) $(DEFS)
8 LIBS = 3rdparty/snmp++/libsnmp++.a \
10 -lboost_program_options \
15 PROG = ssmd # SNMP Switch Management Daemon
18 SOURCES = src/main.cpp \
21 src/settingsfileparser.cpp \
35 .PHONY: all clean snmplib version tests install uninstall
40 $(MAKE) $(MAKECMDGOALS) -C tests
43 $(MAKE) $(MAKECMDGOALS) -C 3rdparty
45 include/version.h: version
48 @sed 's/@VERSION@/$(VERSION)/g' include/version.h.in > include/version.h
49 @sed -i 's/@GIT_SHA@/'`git rev-parse --short HEAD`'/g' include/version.h
51 $(PROG): version $(subst .cpp,.o,$(SOURCES)) snmplib
52 $(CXX) $(subst .cpp,.o,$(SOURCES)) $(LIBS) -o $@
55 rm -f src/*.o src/*.d $(PROG) include/version.h
57 install: install-bin install-data
60 ifeq ($(findstring $(DEFS), -DDEBUG),)
61 install -D -m $(BIN_MODE) -o $(OWNER) $(PROG) $(PREFIX)/usr/sbin/$(PROG)
63 install -D -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/sbin/$(PROG)
67 install -D -m $(DATA_MODE) -o $(OWNER) ./ssmd.conf $(PREFIX)/etc/ssmd/ssmd.conf
69 uninstall: uninstall-bin uninstall-data
72 rm -f $(PREFIX)/usr/sbin/$(PROG)
75 rm -f $(PREFIX)/etc/ssmd/ssmd.conf
77 ifneq ($(MAKECMDGOALS),distclean)
78 ifneq ($(MAKECMDGOALS),clean)
79 -include $(subst .cpp,.d,$(SOURCES))
84 @$(CXX) -MM $(CXXFLAGS) $< > $@.$$$$; \
85 sed 's,\($*\).o[ :]*,src\/\1.o $@ : ,g' < $@.$$$$ > $@; \