~ chicken-core (chicken-5) 54fd7f3fcb26ba9cc33b00648e53173a0d2cddfe
commit 54fd7f3fcb26ba9cc33b00648e53173a0d2cddfe Author: Peter Bex <Peter.Bex@xs4all.nl> AuthorDate: Sat Sep 4 21:53:58 2010 +0200 Commit: Peter Bex <Peter.Bex@xs4all.nl> CommitDate: Sat Sep 4 21:53:58 2010 +0200 Refactor basic Makefile so we only need to add a single Makefile.platform when adding a new platform and not add a new line to the instructions. Also collapse all the standard rules for invoking recursive Make diff --git a/Makefile b/Makefile index e5293ce4..ea932bf0 100644 --- a/Makefile +++ b/Makefile @@ -33,63 +33,36 @@ ifneq ($(CONFIG),) include $(CONFIG) endif -STANDARD_TARGETS \ - = all clean distclean spotless install uninstall confclean check \ - fullcheck dist libs install-target install-dev bench boot-chicken - -SRCDIR = . - -.PHONY: $(STANDARD_TARGETS) - ifndef PLATFORM -$(STANDARD_TARGETS): - @echo "no PLATFORM given." +no-platform: + @echo "No PLATFORM given." @echo "" @echo "Please select your target platform by running one of the following commands:" @echo "" - @echo " $(MAKE) PLATFORM=linux" - @echo " $(MAKE) PLATFORM=bsd" - @echo " $(MAKE) PLATFORM=macosx" - @echo " $(MAKE) PLATFORM=mingw-msys" - @echo " $(MAKE) PLATFORM=mingw" - @echo " $(MAKE) PLATFORM=cygwin" - @echo " $(MAKE) PLATFORM=solaris" - @echo " $(MAKE) PLATFORM=cross-linux-mingw" - @echo " $(MAKE) PLATFORM=haiku" + @for mf in Makefile.*; do \ + echo " $(MAKE) PLATFORM=$${mf#Makefile.}"; \ + done @echo "" @echo "For more information, consult the README file." @exit 1 +%: no-platform ; else -all: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) all -clean: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) clean -distclean: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) distclean -spotless: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) spotless -install: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) install -install-target: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) install-target -install-dev: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) install-dev -uninstall: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) uninstall -confclean: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) confclean -check: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) check -bench: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) bench -fullcheck: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) fullcheck +SRCDIR = . + +STANDARD_TARGETS \ + = all clean distclean spotless install uninstall confclean check \ + fullcheck libs install-target install-dev bench + +.PHONY: $(STANDARD_TARGETS) dist boot-chicken + +$(STANDARD_TARGETS): + $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) $@ + dist: $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) distfiles csi -s scripts/makedist.scm -libs: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) CONFIG=$(CONFIG) libs + boot-chicken: $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) boot-chicken -endif +endif \ No newline at end of fileTrap