build: Make module build also depend on header file
[netsniff-ng.git] / Template
blob3410769165bda4c81a7ae18c551cdedae740b2fb
1 define TOOL_templ
2   include $(1)/Makefile
3   $(1) $(1)%: BUILD_DIR := $(1)
4   $(1) $(1)%: CFLAGS += $$($(1)-eflags)
5   $(1)_prehook:
6         $(Q)echo "$(bold)$(WHAT) $(1):$(normal)"
7   $(1): $(1)_prehook $$($(1)-lex) $$($(1)-yaac) $$(patsubst %.o,$(1)/%.o,$$($(1)-objs))
8   $(1)_clean: $(1)_clean_custom
9         $(Q)$$(call RM,$(1)/*.o $(1)/$(1) $(1)/*.gz)
10   $(1)_do_install:
11         $(Q)$$(call INSTX,$(1)/$(1),$$(DESTDIR)$$(SBINDIR))
12         $(Q)$(GZIP) $(1).8 > $(1)/$(1).8.gz
13         $(Q)$$(call INSTX,$(1)/$(1).8.gz,$$(DESTDIR)$$(MAN8DIR))
14         $(Q)$$(foreach file,$$($(1)-confs),$$(call INST,$$(file),$$(DESTDIR)$$(ETCDIRE));)
15   $(1)_install: $(1)_do_install $(1)_post_install
16   $(1)_uninstall: $(1)_uninstall_custom
17         $(Q)$$(call RM,$$(DESTDIR)$$(SBINDIR)/$(1))
18         $(Q)$$(call RM,$$(DESTDIR)$$(MAN8DIR)/$(1).8.gz)
19   $(1)/%.yy.o: $(1)/%.yy.c
20         $$(CCQ) $$(CFLAGS) -o $$@ -c $$<
21   $(1)/%.tab.o: $(1)/%.tab.c
22         $$(CCQ) $$(CFLAGS) -o $$@ -c $$<
23   $(1)/%.o: %.c %.h
24         $$(CHECK) $$(CFLAGS) $$(CHECKFLAGS) $$<
25         $$(CCQ) $$(CFLAGS) -o $(1)/$$(shell basename $$@) -c $$<
26   $(1)/%.o: %.c
27         $$(CHECK) $$(CFLAGS) $$(CHECKFLAGS) $$<
28         $$(CCQ) $$(CFLAGS) -o $(1)/$$(shell basename $$@) -c $$<
29 endef