6 INCS = -Iinclude -I3rdparty/snmp++/include
7 CXXFLAGS += -W -Wall -Wextra $(INCS) $(DEFS)
12 -lboost_program_options \
13 3rdparty/snmp++/libsnmp++.a
14 PROG = ssmd # SNMP Switch Management Daemon
17 SOURCES = src/main.cpp \
20 src/settingsfileparser.cpp \
34 .PHONY: all clean snmplib version tests install uninstall
39 $(MAKE) $(MAKECMDGOALS) -C tests
42 $(MAKE) $(MAKECMDGOALS) -C 3rdparty
44 include/version.h: version
47 @sed 's/@VERSION@/$(VERSION)/g' include/version.h.in > include/version.h
48 @sed -i 's/@GIT_SHA@/'`git rev-parse --short HEAD`'/g' include/version.h
50 $(PROG): version $(subst .cpp,.o,$(SOURCES)) snmplib
51 $(CXX) $(subst .cpp,.o,$(SOURCES)) $(LIBS) -o $@
54 rm -f src/*.o src/*.d $(PROG) include/version.h
56 install: install-bin install-data
59 ifeq ($(findstring $(DEFS), -DDEBUG),)
60 install -D -m $(BIN_MODE) -o $(OWNER) $(PROG) $(PREFIX)/usr/sbin/$(PROG)
62 install -D -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/sbin/$(PROG)
66 install -D -m $(DATA_MODE) -o $(OWNER) ./ssmd.conf $(PREFIX)/etc/ssmd/ssmd.conf
68 uninstall: uninstall-bin uninstall-data
71 rm -f $(PREFIX)/usr/sbin/$(PROG)
74 rm -f $(PREFIX)/etc/ssmd/ssmd.conf
76 ifneq ($(MAKECMDGOALS),distclean)
77 ifneq ($(MAKECMDGOALS),clean)
78 -include $(subst .cpp,.d,$(SOURCES))
83 @$(CXX) -MM $(CXXFLAGS) $< > $@.$$$$; \
84 sed 's,\($*\).o[ :]*,src\/\1.o $@ : ,g' < $@.$$$$ > $@; \