From 9d46a9afd343dfee94c00d57afba3445a48c7141 Mon Sep 17 00:00:00 2001 From: Daniel Colascione Date: Mon, 26 Feb 2018 11:30:41 -0800 Subject: [PATCH] Split pdmp-file make rules from executables --- src/Makefile.in | 51 ++++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index 663748099bd..84ac633db25 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -355,8 +355,10 @@ am__v_at_1 = bootstrap_exe = ../src/bootstrap-emacs$(EXEEXT) ifeq ($(DUMPING),pdumper) bootstrap_pdmp := bootstrap-emacs.pdmp # Keep in sync with loadup.el +pdmp := emacs.pdmp else bootstrap_pdmp := +pdmp := endif # Flags that might be in WARN_CFLAGS but are not valid for Objective C. @@ -448,7 +450,7 @@ FIRSTFILE_OBJ=@FIRSTFILE_OBJ@ ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj) # Must be first, before dep inclusion! -all: emacs$(EXEEXT) $(OTHER_FILES) +all: emacs$(EXEEXT) $(pdmp) $(OTHER_FILES) .PHONY: all dmpstruct_headers=$(srcdir)/lisp.h $(srcdir)/buffer.h \ @@ -521,7 +523,7 @@ LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \ ## and emacs (which recreates bootstrap-emacs) depends on charprop, ## in practice this rule was always run anyway. $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ - bootstrap-emacs$(EXEEXT) FORCE + bootstrap-emacs$(EXEEXT) $(bootstrap_pdmp) FORCE $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)" ## We require charprop.el to exist before ucs-normalize.el is @@ -552,18 +554,21 @@ ${lispintdir}/characters.elc: ${charscript:.el=.elc} emacs$(EXEEXT): temacs$(EXEEXT) \ lisp.mk $(etc)/DOC $(lisp) \ $(lispsource)/international/charprop.el ${charsets} -ifeq ($(DUMPING),pdumper) - cp -f temacs$(EXEEXT) $@ - LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=pdump -else ifeq ($(DUMPING),unexec) +ifeq ($(DUMPING),unexec) LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump -ifneq ($(PAXCTL_dumped),) - $(PAXCTL_dumped) $@ -endif + ifneq ($(PAXCTL_dumped),) + $(PAXCTL_dumped) emacs$(EXEEXT) + endif + cp -f $@ bootstrap-emacs$(EXEEXT) else - cp -f temacs$(EXEEXT) $@ + cp -f temacs$(EXEEXT) emacs$(EXEEXT) +endif + +ifeq ($(DUMPING),pdumper) +$(pdmp): emacs$(EXEEXT) + LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=pdump + cp -f $@ $(bootstrap_pdmp) endif - cp -f $@ bootstrap-emacs$(EXEEXT) ## We run make-docfile twice because the command line may get too long ## on some systems. Unfortunately, no-one has any idea @@ -665,7 +670,7 @@ emacs.res: FORCE $(MAKE) -C ../nt ../src/emacs.res .PHONY: ns-app -ns-app: emacs$(EXEEXT) +ns-app: emacs$(EXEEXT) $(pdmp) $(MAKE) -C ../nextstep all .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean @@ -761,7 +766,7 @@ tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS ## but now that we require GNU make, we can simply specify ## bootstrap-emacs$(EXEEXT) as an order-only prerequisite. -%.elc: %.el | bootstrap-emacs$(EXEEXT) +%.elc: %.el | bootstrap-emacs$(EXEEXT) $(bootstrap_pdmp) @$(MAKE) -C ../lisp EMACS="$(bootstrap_exe)" THEFILE=$< $