diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 143 | 
1 files changed, 84 insertions, 59 deletions
| @@ -55,9 +55,21 @@ SHOBJS = *.so  #BUILD = ./build -hsystem -p svr4-gcc-sun-ld  BUILD = ./build -hsystem -# Workaround for unexec on Fedora Linux i386 +# Workaround for unexec on Fedora Core 1 Linux i386  #SETARCH = setarch i386 +# http://jamesthornton.com/writing/emacs-compile.html +# [For FC3] combreloc has become the default for recent GNU ld, which +# breaks the unexec/undump on all versions of both Emacs and +# XEmacs... +# +# Add the following to udscm5.opt: +#--linker-options="-z nocombreloc" + +# http://www.opensubscriber.com/message/emacs-devel@gnu.org/1007118.html +# Kernels later than 2.6.11 must do (as root) before dumping: +#echo 0 > /proc/sys/kernel/randomize_va_space +  #for RPMs  RELEASE = 1 @@ -95,7 +107,7 @@ cfiles = scmmain.c scm.c time.c repl.c ioext.c scl.c sys.c eval.c	\  	findexec.c script.c debug.c byte.c differ.c  ofiles = scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o \  	continue.o findexec.o script.o debug.o -# ramap.o +# continue-ia64.o  ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macexp.scm \  	Tscript.scm compile.scm Iedline.scm Idiffer.scm  hobfiles = hobbit.scm scmhob.scm scmhob.h @@ -120,6 +132,7 @@ scmflags:  	echo "#ifndef IMPLINIT" > newflags.h  	echo "#define IMPLINIT \"$(IMPLINIT)\"" >> newflags.h  	echo "#endif" >> newflags.h +	echo "#define CHEAP_CONTINUATIONS" >> newflags.h  	echo "#define CAUTIOUS" >> newflags.h  	-if (cmp -s newflags.h scmflags.h) then rm newflags.h; \  		 else mv newflags.h scmflags.h; fi @@ -138,6 +151,10 @@ time.o:	time.c scm.h scmfig.h scmflags.h  subr.o:	subr.c scm.h scmfig.h scmflags.h  rope.o:	rope.c scm.h scmfig.h scmflags.h  continue.o: continue.c continue.h setjump.h scm.h scmfig.h scmflags.h +continue-ia64.o: continue-ia64.S get-contoffset-ia64.c +	gcc -o get-contoffset-ia64 get-contoffset-ia64.c +	./get-contoffset-ia64 contoffset-ia64.S +	gcc -c -o continue-ia64.o continue-ia64.S  # Simple build with bignums for running JACAL  scm:	scmlit @@ -165,23 +182,40 @@ udscm4:	$(cfiles) $(hfiles) build.scm build udscm4.opt  	$(BUILD) -f udscm4.opt -o udscm4 -s $(IMPLPATH)  	rm $(ofiles) scmmain.o  dscm4:	udscm4 $(ifiles) require.scm -	-rm slibcat implcat +	if [ -f /proc/sys/kernel/randomize_va_space -a\ +	     "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\ +	   cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\ +	   echo 0 > /proc/sys/kernel/randomize_va_space;\ +	} fi +	-rm -f slibcat implcat scm~  	-mv scm scm~  	echo "(quit)" | $(SETARCH) ./udscm4 -no-init-file -o scm +	if [ -f randomize_va_space.tmp ]; then {\ +	   cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\ +	   rm randomize_va_space.tmp;\ +	} fi  # dumpable R5RS interpreter  udscm5.opt:  	$(MAKE) udscm4.opt  	cat udscm4.opt >> udscm5.opt  	echo "-F macro" >> udscm5.opt -#	echo "-DNO_SYM_GC" >> udscm5.opt -udscm5:	$(cfiles) $(hfiles) build.scm build Makefile udscm5.opt +udscm5:	$(cfiles) $(hfiles) build.scm build udscm5.opt  	$(BUILD) -f udscm5.opt -o udscm5 -s $(IMPLPATH)  	rm $(ofiles) scmmain.o  dscm5:	udscm5 $(ifiles) require.scm -	-rm slibcat implcat +	if [ -f /proc/sys/kernel/randomize_va_space -a\ +	     "`cat /proc/sys/kernel/randomize_va_space`" != "0" ]; then {\ +	   cat /proc/sys/kernel/randomize_va_space > randomize_va_space.tmp;\ +	   echo 0 > /proc/sys/kernel/randomize_va_space;\ +	} fi +	-rm -f slibcat implcat scm~  	-mv scm scm~  	echo "(quit)" | $(SETARCH) ./udscm5 -no-init-file -r5 -o scm +	if [ -f randomize_va_space.tmp ]; then {\ +	   cat randomize_va_space.tmp > /proc/sys/kernel/randomize_va_space;\ +	   rm randomize_va_space.tmp;\ +	} fi  	$(MAKE) check  	$(MAKE) checkmacro @@ -226,19 +260,19 @@ dlls.opt:  	echo "--compiler-options=-Wall" >> dlls.opt  	echo "--linker-options=-Wall" >> dlls.opt  mydlls:	dlls.opt -	if [ -f /usr/lib/libreadline.so ]; \ -		then $(BUILD) -t dll -f dlls.opt -F edit-line; fi -	$(BUILD) -t dll -f dlls.opt -F curses -	$(BUILD) -t dll -f dlls.opt -c sc2.c -	$(BUILD) -t dll -f dlls.opt -c rgx.c +	$(BUILD) -t dll -f dlls.opt -c ramap.c  	$(BUILD) -t dll -f dlls.opt -c record.c  	$(BUILD) -t dll -f dlls.opt -c gsubr.c +	$(BUILD) -t dll -f dlls.opt -c byte.c +	$(BUILD) -t dll -f dlls.opt -c sc2.c  	$(BUILD) -t dll -f dlls.opt -c ioext.c  	$(BUILD) -t dll -f dlls.opt -c posix.c -	$(BUILD) -t dll -f dlls.opt -c unix.c  	$(BUILD) -t dll -f dlls.opt -c socket.c -	$(BUILD) -t dll -f dlls.opt -c ramap.c -	$(BUILD) -t dll -f dlls.opt -c byte.c +	$(BUILD) -t dll -f dlls.opt -c unix.c +	$(BUILD) -t dll -f dlls.opt -F curses +	$(BUILD) -t dll -f dlls.opt -c rgx.c +	if [ -f /usr/lib/libreadline.so ]; \ +		then $(BUILD) -t dll -f dlls.opt -F edit-line; fi  rwb-isam.scm wbtab.scm: ../wb/rwb-isam.scm ../wb/wbtab.scm  	cp ../wb/rwb-isam.scm ../wb/wbtab.scm ./ @@ -270,7 +304,7 @@ x.h:	x.c xevent.h  # Check SCM; SCMLIT function.  checklit: -	$(SCMLIT) -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \ +	$(SCMLIT) -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)' \  	-e '(or (null? errs) (quit 1))'  check:	r4rstest.scm  	$(SCMEXE) -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \ @@ -320,51 +354,36 @@ implcat:	$(SHOBJS) mkimpcat.scm  	$(SCMLIT) -lmkimpcat.scm  htmldir=../public_html/ -dvidir=../dvi/ -dvi:	$(dvidir)scm.dvi $(dvidir)Xlibscm.dvi $(dvidir)hobbit.dvi -$(dvidir)scm.dvi:	version.txi scm.texi platform.txi features.txi\ -	$(dvidir)scm.fn Makefile -#	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texi2dvi $(srcdir)scm.texi -	-(cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texindex scm.??) -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)scm.texi -$(dvidir)scm.fn: -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)scm.texi -$(dvidir)Xlibscm.dvi:	version.txi Xlibscm.texi $(dvidir)Xlibscm.fn Makefile -#	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texi2dvi $(srcdir)Xlibscm.texi -	-(cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texindex Xlibscm.??) -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)Xlibscm.texi -$(dvidir)Xlibscm.fn: -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)Xlibscm.texi -$(dvidir)hobbit.dvi:	version.txi hobbit.texi $(dvidir)hobbit.fn Makefile -#	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texi2dvi $(srcdir)hobbit.texi -	-(cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;texindex hobbit.??) -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)hobbit.texi -$(dvidir)hobbit.fn: -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;tex $(srcdir)hobbit.texi -xdvi:	$(dvidir)scm.dvi -	xdvi -s 3 $(dvidir)scm.dvi -Xdvi:	$(dvidir)Xlibscm.dvi -	xdvi -s 3 $(dvidir)Xlibscm.dvi -hobdvi:	$(dvidir)hobbit.dvi -	xdvi -s 3 $(dvidir)hobbit.dvi +dvi:	scm.dvi Xlibscm.dvi hobbit.dvi +scm.dvi: version.txi scm.texi platform.txi features.txi Makefile +	texi2dvi -b -c $(srcdir)scm.texi +Xlibscm.dvi:	version.txi Xlibscm.texi Makefile +	texi2dvi -b -c $(srcdir)Xlibscm.texi +hobbit.dvi:	version.txi hobbit.texi Makefile +	texi2dvi -b -c $(srcdir)hobbit.texi +xdvi:	scm.dvi +	xdvi scm.dvi +Xdvi:	Xlibscm.dvi +	xdvi Xlibscm.dvi +hobdvi:	hobbit.dvi +	xdvi hobbit.dvi  pdf:	$(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf -$(htmldir)scm.pdf:	version.txi scm.texi platform.txi features.txi\ -			$(dvidir)scm.fn Makefile -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;pdftex $(srcdir)scm.texi -	mv $(dvidir)scm.pdf $(htmldir) -$(htmldir)Xlibscm.pdf:	version.txi Xlibscm.texi $(dvidir)Xlibscm.fn Makefile -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;pdftex $(srcdir)Xlibscm.texi -	mv $(dvidir)Xlibscm.pdf $(htmldir) -$(htmldir)hobbit.pdf:	version.txi hobbit.texi $(dvidir)hobbit.fn Makefile -	cd $(dvidir);TEXINPUTS=$(srcdir):;export TEXINPUTS;pdftex $(srcdir)hobbit.texi -	mv $(dvidir)hobbit.pdf $(htmldir) +$(htmldir)scm.pdf: version.txi scm.texi platform.txi features.txi Makefile +	texi2pdf -b -c $(srcdir)scm.texi +	mv scm.pdf $(htmldir) +$(htmldir)Xlibscm.pdf:	version.txi Xlibscm.texi Makefile +	texi2pdf -b -c $(srcdir)Xlibscm.texi +	mv Xlibscm.pdf $(htmldir) +$(htmldir)hobbit.pdf:	version.txi hobbit.texi Makefile +	texi2pdf -b -c $(srcdir)hobbit.texi +	mv hobbit.pdf $(htmldir)  xpdf:	$(htmldir)scm.pdf -	xpdf -z 3 $(htmldir)scm.pdf +	xpdf $(htmldir)scm.pdf  Xpdf:	$(htmldir)Xlibscm.pdf -	xpdf -z 3 $(htmldir)Xlibscm.pdf +	xpdf $(htmldir)Xlibscm.pdf  hobpdf:	$(htmldir)hobbit.pdf -	xpdf -z 3 $(htmldir)hobbit.pdf +	xpdf $(htmldir)hobbit.pdf  PREVDOCS = prevdocs/  html:	$(htmldir)scm_toc.html $(htmldir)Xlibscm_toc.html $(htmldir)hobbit_toc.html @@ -399,7 +418,7 @@ $(PREVDOCS)scm.info:	srcdir.mk Makefile  ################ INSTALL DEFINITIONS ################ -rpm_prefix=/usr/src/redhat/ +rpm_prefix=$(HOME)/rpmbuild/  prefix = /usr/local/  exec_prefix = $(prefix) @@ -497,6 +516,11 @@ uninstallinfo:  scm.doc:	scm.1  	nroff -man $< | ul -tunknown >$@ +docs:	$(infodir)scm.info.gz $(htmldir)scm_toc.html scm.doc \ +	scm.dvi Xlibscm.dvi hobbit.dvi \ +	$(htmldir)scm.pdf $(htmldir)Xlibscm.pdf $(htmldir)hobbit.pdf +	xdvi -s 4 scm.dvi +  #### Stuff for maintaining SCM below ####  ver = $(VERSION) @@ -523,10 +547,11 @@ dfiles = ANNOUNCE README COPYING scm.1 scm.doc QUICKREF \  	version.txi platform.txi features.txi ChangeLog  mfiles = Makefile build.scm build build.bat requires.scm \  	.gdbinit mkimpcat.scm disarm.scm scm.spec -vfiles = setjump.mar setjump.s +sfiles = setjump.mar setjump.s ugsetjump.s continue-ia64.S \ +	 get-contoffset-ia64.c  wbfiles = wbtab.scm rwb-isam.scm  afiles = $(dfiles) $(cfiles) $(hfiles) $(ifiles) $(tfiles) $(mfiles) \ -	$(hobfiles) $(vfiles) $(ufiles) $(xfiles) $(turfiles) $(wbfiles) +	$(hobfiles) $(sfiles) $(ufiles) $(xfiles) $(turfiles) $(wbfiles)  makedev = make -f $(HOME)/makefile.dev  CHPAT=$(HOME)/bin/chpat @@ -681,7 +706,7 @@ ctagfiles = $(hfiles) $(cfiles) $(xfiles)  ctags:	$(ctagfiles)  	etags $(ctagfiles) -TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(vfiles)\ +TAGFILES = $(hfiles) $(cfiles) $(ifiles) $(sfiles)\  	version.txi scm.texi Xlibscm.texi hobbit.texi build $(xfiles) $(mfiles)\  	hobbit.scm  #	# $(ufiles) ChangeLog | 
