Makefile 2.0 KB

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