summaryrefslogtreecommitdiff
path: root/Basic.mk.template
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2018-08-02 20:51:11 -0400
committerPaul Smith <psmith@gnu.org>2018-08-02 20:55:34 -0400
commit23554ee65897c968a2ab56c3a6f248e7037b1098 (patch)
tree72a0fb608e77a4ea82687f3fc1e25dcb93f1e859 /Basic.mk.template
parent0ce880e5ee7b4c5670aa676354ae10df448a616d (diff)
downloadmake-git-23554ee65897c968a2ab56c3a6f248e7037b1098.tar.gz
Enhance the Basic.mk environment to work with Gnulib
* maintMakefile: Omit generated headers from Basic.mk prerequisites. * Basic.mk.template: Rework commands to use with $(call ...) macros. * mk/Amiga.mk: Ditto. * mk/VMS.mk: Ditto. * mk/Windows32.mk: Ditto, plus P2W to convert POSIX to Windows paths. * mk/msdosdjgpp.mk: Ditto.
Diffstat (limited to 'Basic.mk.template')
-rw-r--r--Basic.mk.template35
1 files changed, 20 insertions, 15 deletions
diff --git a/Basic.mk.template b/Basic.mk.template
index 9eab3560..3b5ff63d 100644
--- a/Basic.mk.template
+++ b/Basic.mk.template
@@ -82,20 +82,25 @@ LINK_OUTPUT = -o $@
# Command lines
-COMPILE.cmd = $(CC) $(extra_CFLAGS) $(CFLAGS) $(extra_CPPFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(OUTPUT_OPTION) $(C_SOURCE) $<
+# $(call COMPILE.cmd,<src>,<tgt>)
+COMPILE.cmd = $(CC) $(extra_CFLAGS) $(CFLAGS) $(extra_CPPFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(OUTPUT_OPTION) $(C_SOURCE) $1
-LINK.cmd = $(LD) $(extra_LDFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) $(LINK_OUTPUT)
+# $(call LINK.cmd,<objectlist>)
+LINK.cmd = $(LD) $(extra_LDFLAGS) $(LDFLAGS) $(TARGET_ARCH) $1 $(LDLIBS) $(LINK_OUTPUT)
+# $(CHECK.cmd)
CHECK.cmd = cd $(SRCDIR)/tests && ./run_make_tests -make $(shell cd $(<D) && pwd)/$(<F)
-CP = cp
-CP.cmd = $(CP) $< $@
+# $(call MKDIR.cmd,<dirlist>)
+MKDIR.cmd = mkdir -p $1
-MKDIR = mkdir -p
-MKDIR.cmd = $(MKDIR) $@
+# $(call RM.cmd,<filelist>)
+RM.cmd = rm -f $1
-RM = rm -f
-RM.cmd = $(RM) $(OBJECTS) $(PROG) $(BUILT_SOURCES)
+# $(call CP.cmd,<from>,<to>)
+CP.cmd = cp $1 $2
+
+CLEANSPACE = $(call RM.cmd,$(OBJECTS) $(PROG) $(BUILT_SOURCES))
# Load overrides for the above variables.
include $(firstword $(wildcard $(SRCDIR)/mk/$(lastword $(subst -, ,$(MAKE_HOST)).mk) $(OUTDIR)mk/Posix.mk $(SRCDIR)/mk/Posix.mk))
@@ -107,24 +112,24 @@ VPATH = $(SRCDIR)
all: $(PROG)
$(PROG): $(OBJECTS)
- $(LINK.cmd)
+ $(call LINK.cmd,$^)
$(OBJECTS): $(OUTDIR)%.$(OBJEXT): %.c
- $(COMPILE.cmd)
+ $(call COMPILE.cmd,$<)
$(OBJECTS): | $(OBJDIRS) $(BUILT_SOURCES)
$(OBJDIRS):
- $(MKDIR.cmd)
+ $(call MKDIR.cmd,$@)
-check: $(PROG)
+check:
$(CHECK.cmd)
clean:
- $(RM.cmd)
+ $(CLEANSPACE)
$(filter %.h,$(BUILT_SOURCES)): %.h : %.in.h
- $(RM) $<
- $(CP.cmd)
+ $(call RM.cmd,$@)
+ $(call CP.cmd,$<,$@)
.PHONY: all check clean