Makefile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. include ../mconfig
  2. include ../build/version.conf
  3. STRIPOPTS ?= -s
  4. ifeq ($(BUILD_SHUTDOWN),yes)
  5. SHUTDOWN=$(SHUTDOWN_PREFIX)shutdown
  6. endif
  7. dinit_objects = dinit.o load-service.o service.o proc-service.o baseproc-service.o control.o dinit-log.o \
  8. dinit-main.o run-child-proc.o options-processing.o
  9. objects = $(dinit_objects) dinitctl.o dinitcheck.o shutdown.o dinit-monitor.o
  10. all: dinit dinitctl dinitcheck dinit-monitor $(SHUTDOWN)
  11. ../mconfig:
  12. @echo "*** No mconfig, please run make from top level"
  13. @false
  14. $(objects): ../build/includes/mconfig.h
  15. dinit: $(dinit_objects)
  16. $(CXX) -o dinit $(dinit_objects) $(CXXOPTS) $(LDFLAGS)
  17. dinitctl: dinitctl.o
  18. $(CXX) -o dinitctl dinitctl.o $(CXXOPTS) $(LDFLAGS)
  19. dinitcheck: dinitcheck.o options-processing.o
  20. $(CXX) -o dinitcheck dinitcheck.o options-processing.o $(CXXOPTS) $(LDFLAGS)
  21. dinit-monitor: dinit-monitor.o
  22. $(CXX) -o dinit-monitor dinit-monitor.o $(CXXOPTS) $(LDFLAGS)
  23. $(SHUTDOWNPREFIX)shutdown: shutdown.o
  24. $(CXX) -o $(SHUTDOWNPREFIX)shutdown shutdown.o $(CXXOPTS) $(LDFLAGS)
  25. $(objects): %.o: %.cc
  26. $(CXX) $(CXXOPTS) -MMD -MP -Iincludes -I../dasynq/include -I../build/includes -c $< -o $@
  27. check: ../build/includes/mconfig.h $(dinit_objects)
  28. $(MAKE) -C tests check
  29. check-igr: dinit dinitctl dinitcheck
  30. $(MAKE) -C igr-tests check-igr
  31. run-cppcheck:
  32. cppcheck --std=c++11 -Iincludes -Idasynq --force --enable=all *.cc 2>../cppcheck-report.txt
  33. install: all
  34. install -d $(DESTDIR)$(SBINDIR)
  35. install $(STRIPOPTS) dinit dinitctl dinitcheck dinit-monitor $(SHUTDOWN) $(DESTDIR)$(SBINDIR)
  36. ifeq ($(BUILD_SHUTDOWN),yes)
  37. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)halt
  38. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)reboot
  39. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)poweroff
  40. endif
  41. clean:
  42. rm -f *.o *.d
  43. rm -f dinit dinitctl dinitcheck shutdown
  44. $(MAKE) -C tests clean
  45. $(MAKE) -C igr-tests clean
  46. -include $(objects:.o=.d)