Makefile 720 B

1234567891011121314151617181920212223242526272829303132
  1. program_name := bc
  2. CC := gcc
  3. link_flags := -lev -lpthread
  4. SRC := src/
  5. SRC_MODULES := $(SRC)modules
  6. source_dirs := $(SRC) \
  7. $(SRC_MODULES) \
  8. $(SRC_MODULES)/common_data \
  9. $(SRC_MODULES)/broker \
  10. $(SRC_MODULES)/ftc \
  11. $(SRC_MODULES)/tlm_srv \
  12. $(SRC_MODULES)/ctl_srv \
  13. $(SRC_MODULES)/temperature \
  14. $(SRC)/core
  15. source_dirs := $(addprefix ../,$(source_dirs))
  16. search_wildcards := $(addsuffix /*.c,$(source_dirs))
  17. $(program_name): $(notdir $(patsubst %.c,%.o, $(wildcard $(search_wildcards) ) ) )
  18. $(CC) $^ -o $@ $(link_flags)
  19. VPATH := $(source_dirs)
  20. %.o: %.c
  21. $(CC) -c -MD $(compile_flags) $(addprefix -I,$(source_dirs)) $<
  22. include $(wildcard *.d)