~ chicken-core (chicken-5) 8666f0776b93ccbdbe0309753723e46fbcc13480
commit 8666f0776b93ccbdbe0309753723e46fbcc13480 Author: Peter Bex <Peter.Bex@xs4all.nl> AuthorDate: Sat Sep 4 21:57:35 2010 +0200 Commit: Peter Bex <Peter.Bex@xs4all.nl> CommitDate: Sat Sep 4 21:57:35 2010 +0200 Add a helpful note to people trying to build with non-GNU makes. To make this work, the actual makefile is now called GNUmakefile (which GNU make will read instead of Makefile when it sees it) diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 00000000..ea932bf0 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,68 @@ +# Makefile - toplevel makefile +# +# Copyright (c) 2008-2010, The Chicken Team +# Copyright (c) 2007, Felix L. Winkelmann +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following +# conditions are met: +# +# Redistributions of source code must retain the above copyright notice, this list of conditions and the following +# disclaimer. +# Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided with the distribution. +# Neither the name of the author nor the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + + +ifeq ($(CONFIG)$(PLATFORM),) +CONFIG=config.make +endif + +ifneq ($(CONFIG),) +include $(CONFIG) +endif + +ifndef PLATFORM +no-platform: + @echo "No PLATFORM given." + @echo "" + @echo "Please select your target platform by running one of the following commands:" + @echo "" + @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 +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 + +boot-chicken: + $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) boot-chicken + +endif \ No newline at end of file diff --git a/Makefile b/Makefile index ea932bf0..3f54b623 100644 --- a/Makefile +++ b/Makefile @@ -1,68 +1,7 @@ -# Makefile - toplevel makefile -# -# Copyright (c) 2008-2010, The Chicken Team -# Copyright (c) 2007, Felix L. Winkelmann -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following -# conditions are met: -# -# Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# Neither the name of the author nor the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - - -ifeq ($(CONFIG)$(PLATFORM),) -CONFIG=config.make -endif - -ifneq ($(CONFIG),) -include $(CONFIG) -endif - -ifndef PLATFORM -no-platform: - @echo "No PLATFORM given." +all: + @echo "Sorry, Chicken can only be built with GNU make." @echo "" - @echo "Please select your target platform by running one of the following commands:" + @echo "The '${MAKE}' command you just used is your system's default make" + @echo "program, which apparently is not GNU Make." @echo "" - @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 -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 - -boot-chicken: - $(MAKE) -f $(SRCDIR)/Makefile.$(PLATFORM) boot-chicken - -endif \ No newline at end of file + @echo "Try 'gmake' or 'gnumake' instead."Trap