summaryrefslogtreecommitdiff
path: root/Template
diff options
context:
space:
mode:
Diffstat (limited to 'Template')
-rw-r--r--Template23
1 files changed, 23 insertions, 0 deletions
diff --git a/Template b/Template
new file mode 100644
index 0000000..d3b4ecc
--- /dev/null
+++ b/Template
@@ -0,0 +1,23 @@
+define TOOL_templ
+ include $(1)/Makefile
+ $(1) $(1)%: BUILD_DIR := $(1)
+ $(1) $(1)%: CFLAGS += $$($(1)-eflags)
+ $(1)_prehook:
+ $(Q)echo "$(bold)$(WHAT) $(1):$(normal)"
+ $(1): $(1)_prehook $$($(1)-lex) $$($(1)-yaac) $$(patsubst %.o,$(1)/%.o,$$($(1)-objs))
+ $(1)_clean: $(1)_clean_custom
+ $(Q)$$(call RM,$(1)/*.o $(1)/$(1) $(1)/*.gz)
+ $(1)_install: $(1)_install_custom
+ $(Q)$$(call INSTX,$(1)/$(1),$$(SBINDIR))
+ $(Q)$(GZIP) $(1).8 > $(1)/$(1).8.gz
+ $(Q)$$(call INSTX,$(1)/$(1).8.gz,$$(MAN8DIR))
+ $(1)_uninstall: $(1)_uninstall_custom
+ $(Q)$$(call RM,$$(SBINDIR)/$(1))
+ $(Q)$$(call RM,$$(MAN8DIR)/$(1).8.gz)
+ $(1)/%.yy.o: $(1)/%.yy.c
+ $$(CC) $$(CFLAGS) -o $$@ -c $$<
+ $(1)/%.tab.o: $(1)/%.tab.c
+ $$(CC) $$(CFLAGS) -o $$@ -c $$<
+ $(1)/%.o: %.c
+ $$(CC) $$(CFLAGS) -o $(1)/$$(shell basename $$@) -c $$<
+endef