X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fbuild-perl.mk;h=301d84860c68614e3162a7a3ada99490d683109b;hb=e11c554e94c39223ea55991a552ccb244dfe4364;hp=57406766ca1f020a442ea57cd0ce7f99a25eec7c;hpb=39253008705e3ca590afdfa1b87bfbb5a16da7e7;p=ghc-hetmet.git diff --git a/rules/build-perl.mk b/rules/build-perl.mk index 5740676..301d848 100644 --- a/rules/build-perl.mk +++ b/rules/build-perl.mk @@ -19,16 +19,18 @@ # $(eval $(call build-perl,driver/mangler,dist)) define build-perl +$(call trace, build-perl($1,$2)) +$(call profStart, build-perl($1,$2)) # $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) +$1_$2_INPLACE = $$(INPLACE_BIN)/$$($1_$2_PROG) endif -$(call all-target,$$($1_$2_INPLACE)) +$(call all-target,$1_$2,$$($1_$2_INPLACE)) $(call clean-target,$1,$2,$1/$2 $$($1_$2_INPLACE)) .PHONY: clean_$1 @@ -37,24 +39,32 @@ 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)" $$(RM_OPTS) $$@ +$1/$2/$$($1_$2_PROG).prl: $1/$$($1_PERL_SRC) $$(UNLIT) | $$$$(dir $$$$@)/. "$$(UNLIT)" $$(UNLIT_OPTS) $$< $$@ +endif $1/$2/$$($1_$2_PROG): $1/$2/$$($1_$2_PROG).prl "$$(RM)" $$(RM_OPTS) $$@ echo '#!$$(PERL)' >> $$@ echo '$$$$TARGETPLATFORM = "$$(TARGETPLATFORM)";' >> $$@ + echo '$$$$TABLES_NEXT_TO_CODE = "$(GhcEnableTablesNextToCode)";' >> $$@ cat $$< >> $$@ - $$(EXECUTABLE_FILE) $$@ -$$($1_$2_INPLACE): $1/$2/$$($1_$2_PROG) - "$$(MKDIRHIER)" $$(dir $$@) - "$$(RM)" $$(RM_OPTS) $$@ +$$($1_$2_INPLACE): $1/$2/$$($1_$2_PROG) | $$$$(dir $$$$@)/. "$$(CP)" $$< $$@ $$(EXECUTABLE_FILE) $$@ + +ifneq "$$($1_$2_INSTALL_IN)" "" +BINDIST_PERL_SOURCES += $1/$2/$$($1_$2_PROG).prl + +install: install_$1_$2 + +.PHONY: install_$1_$2 +install_$1_$2: $1/$2/$$($1_$2_PROG) + $$(call INSTALL_DIR,"$$($1_$2_INSTALL_IN)") + $$(call INSTALL_SCRIPT,$$(INSTALL_OPTS),$$<,"$$($1_$2_INSTALL_IN)") endif endif +$(call profEnd, build-perl($1,$2)) endef