From: Ian Lynagh Date: Thu, 16 Aug 2007 01:07:40 +0000 (+0000) Subject: Make dependencies of source files on Makefiles disableable X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=26dc0aa6d3a06ee6b948a2827426407c7c8cda97 Make dependencies of source files on Makefiles disableable Avoids lots of unnecessary recmopilation when you're fiddling with Makefiles. --- diff --git a/compiler/Makefile b/compiler/Makefile index e472791..4023d72 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -204,7 +204,7 @@ endif CONFIG_HS = main/Config.hs boot :: $(CONFIG_HS) -$(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile +$(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk @$(RM) -f $(CONFIG_HS) @echo "Creating $(CONFIG_HS) ... " @echo "module Config where" >>$(CONFIG_HS) @@ -261,7 +261,7 @@ CLEAN_FILES += $(CONFIG_HS) PLATFORM_H = ghc_boot_platform.h -stage1/$(PLATFORM_H) : stage_dirs $(FPTOOLS_TOP)/mk/config.mk Makefile +stage1/$(PLATFORM_H) : stage_dirs $(FPTOOLS_TOP)/mk/config.mk @echo "Creating $@..." @$(RM) $@ @echo "#ifndef __PLATFORM_H__" >$@ @@ -307,7 +307,7 @@ endif # For stage2 and above, the BUILD platform is the HOST of stage1, and # the HOST platform is the TARGET of stage1. The TARGET remains the same # (stage1 is the cross-compiler, not stage2). -stage2/$(PLATFORM_H) : stage_dirs $(FPTOOLS_TOP)/mk/config.mk Makefile +stage2/$(PLATFORM_H) : stage_dirs $(FPTOOLS_TOP)/mk/config.mk @echo "Creating $@..." @$(RM) $@ @echo "#ifndef __PLATFORM_H__" >$@ @@ -1004,4 +1004,10 @@ endif # -optdep--exclude-module flag in GHC 6.4. It is not required for any # other version of GHC, but doesn't do any harm. +ifeq "$(MakefileDeps)" "YES" +$(CONFIG_HS) : Makefile +stage1/$(PLATFORM_H) : Makefile +stage2/$(PLATFORM_H) : Makefile +endif + -include .depend-$(stage) diff --git a/mk/config.mk.in b/mk/config.mk.in index 7e8cc32..b602569 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -320,6 +320,8 @@ BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS))) HscIfaceFileVersion=6 +MakefileDeps=YES + #------------------------------------------------------------------------------ # Options for Libraries