X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fbuild-perl.mk;h=669f3d7be4fc7c6a74e2457057991a7f84ba3a76;hb=60762c678c83e370609001addc8f52efcd657139;hp=48694e460ee5c7d7d49086a95c0bbe000be3f4d7;hpb=34cc75e1a62638f2833815746ebce0a9114dc26b;p=ghc-hetmet.git diff --git a/rules/build-perl.mk b/rules/build-perl.mk index 48694e4..669f3d7 100644 --- a/rules/build-perl.mk +++ b/rules/build-perl.mk @@ -1,3 +1,15 @@ +# ----------------------------------------------------------------------------- +# +# (c) 2009 The University of Glasgow +# +# This file is part of the GHC build system. +# +# To understand how the build system works and how to modify it, see +# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture +# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying +# +# ----------------------------------------------------------------------------- + # Build a perl script. Invoke like this: # @@ -10,8 +22,8 @@ define build-perl # $1 = dir # $2 = distdir -ifeq "$$($1_$2_LIBEXEC)" "YES" -$1_$2_INPLACE = $(INPLACE_LIB)/$$($1_$2_PROG) +ifeq "$$($1_$2_TOPDIR)" "YES" +$1_$2_INPLACE = $(INPLACE_TOPDIR)/$$($1_$2_PROG) else $1_$2_INPLACE = $(INPLACE_BIN)/$$($1_$2_PROG) endif @@ -22,24 +34,23 @@ $(call clean-target,$1,$2,$1/$2 $$($1_$2_INPLACE)) .PHONY: clean_$1 clean_$1 : clean_$1_$2 +# INPLACE_BIN etc. might be empty if we're cleaning +ifeq "$(findstring clean,$(MAKECMDGOALS))" "" ifneq "$$(BINDIST)" "YES" -$1/$2/$$($1_$2_PROG).prl: $1/$$($1_PERL_SRC) $$(UNLIT) - $$(MKDIRHIER) $1/$2 - $$(RM) -f $$@ - $$(UNLIT) $$(UNLIT_OPTS) $$< $$@ +$1/$2/$$($1_$2_PROG).prl: $1/$$($1_PERL_SRC) $$(UNLIT) | $$$$(dir $$$$@)/. + "$$(UNLIT)" $$(UNLIT_OPTS) $$< $$@ $1/$2/$$($1_$2_PROG): $1/$2/$$($1_$2_PROG).prl - $$(RM) -f $$@ + "$$(RM)" $$(RM_OPTS) $$@ echo '#!$$(PERL)' >> $$@ echo '$$$$TARGETPLATFORM = "$$(TARGETPLATFORM)";' >> $$@ cat $$< >> $$@ $$(EXECUTABLE_FILE) $$@ -$$($1_$2_INPLACE): $1/$2/$$($1_$2_PROG) - $$(MKDIRHIER) $$(dir $$@) - $$(RM) -f $$@ - $$(CP) $$< $$@ +$$($1_$2_INPLACE): $1/$2/$$($1_$2_PROG) | $$$$(dir $$$$@)/. + "$$(CP)" $$< $$@ $$(EXECUTABLE_FILE) $$@ endif +endif endef