diff src/Makefile.in.in @ 2015:2364237fbc0f

[xemacs-hg @ 2004-04-15 20:56:17 by olivierg] Moving the dump file inside the executable
author olivierg
date Thu, 15 Apr 2004 20:56:23 +0000
parents 9c872f33ecbe
children 71477bc21fe8
line wrap: on
line diff
--- a/src/Makefile.in.in	Thu Apr 15 15:27:38 2004 +0000
+++ b/src/Makefile.in.in	Thu Apr 15 20:56:23 2004 +0000
@@ -417,6 +417,10 @@
 DUMP_TARGET = $(PROGNAME).dmp
 RAW_EXE  = $(PROGNAME)
 DUMP_ID     = dump-id.o
+#ifndef WIN32_NATIVE
+DUMP_TARGET = $(PROGNAME)
+RAW_EXE  = temacs
+#endif
 #else
 DUMP_TARGET = $(PROGNAME)
 RAW_EXE  = temacs
@@ -536,14 +540,18 @@
 
 ## (2) Link the XEmacs executable
 
-temacs_deps = $(link_deps) $(DUMP_ID)
-
-temacs_link_args = \
- $(start_flags) $(ldflags) \
- -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) $(LIBES)
-
-$(RAW_EXE): $(temacs_deps)
-	$(LD) $(temacs_link_args)
+#if !defined(PDUMP) || defined(WIN32_NATIVE)
+$(RAW_EXE): $(link_deps) $(DUMP_ID)
+	$(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) $(LIBES)
+#else
+$(RAW_EXE): $(link_deps) $(DUMP_ID)
+	if test -f dump-size ; then \
+		$(CC) -c $(cflags) -DMAX_SIZE=`cat dump-size` $(SRC)/dump-data.c ;\
+	else \
+		$(CC) -c $(cflags) -DMAX_SIZE=0 $(SRC)/dump-data.c ;\
+	fi
+	$(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES)
+#endif
 
 ## (3) Update the .elc's needed for dumping
 
@@ -586,6 +594,26 @@
 	@$(RM) $@
 	$(dump_temacs)
 #endif
+#if defined(PDUMP) && !defined(WIN32_NATIVE)
+	if test -f dump-size; then \
+		$(LIB_SRC)/insert-data-in-exec $(RAW_EXE) $(DUMP_TARGET).dmp $(DUMP_TARGET) `$(DO_TEMACS) -si`; \
+		ret=$$? ; \
+		if test $${ret} -eq 2; then \
+			$(RM) dump-size ; \
+		else \
+			if test $${ret} -eq 1; then \
+				exit 1; \
+			else \
+				chmod +x $(DUMP_TARGET) ; \
+			fi ; \
+		fi ; \
+	fi
+	if ! test -f dump-size; then \
+		$(LIB_SRC)/insert-data-in-exec -s $(DUMP_TARGET).dmp > dump-size ; \
+		$(RM) dump-data.o $(DUMP_TARGET) $(DUMP_TARGET).dmp $(RAW_EXE);\
+		$(RECURSIVE_MAKE) $@; \
+	fi
+#endif
 
 ## (6) Update the remaining .elc's, post-dumping