# DIST: This is the distribution Makefile for ECL. configure can # DIST: make most of the changes to this file you might want, so try # DIST: that first. # make all to compile and build Emacs. # make install to install it. # make TAGS to update tags tables. # # make clean or make mostlyclean # Delete all files from the current directory that are normally # created by building the program. Don't delete the files that # record the configuration. Also preserve files that could be made # by building, but normally aren't because the distribution comes # with them. # # Delete `.dvi' files here if they are not part of the distribution. # # make distclean # Delete all files from the current directory that are created by # configuring or building the program. If you have unpacked the # source and built the program without creating any other files, # `make distclean' should leave only the files that were in the # distribution. # # make realclean # Delete everything from the current directory that can be # reconstructed with this Makefile. This typically includes # everything deleted by distclean. SHELL = /bin/sh MACHINE = @MACHINE@ # ========================= Last release ================================ VERSION=@ECL_VERSION@ WWW=http://ecls.sourceforge.net/ # ==================== Things `configure' Might Edit ==================== CC=@CC@ CPP=@CPP@ LN_S=@LN_S@ CFLAGS=@CFLAGS@ # Where to find the source code. # This is set by the configure script's `--srcdir' option. srcdir=@srcdir@ bindir=@bindir@ infodir=@infodir@ mandir=@mandir@ libdir=@libdir@ # What to release TAR_CONTENTS=Makefile.in README.1st LGPL ANNOUNCEMENT Copyright doc \ configure src/c src/cmp src/clos src/lsp src/doc \ src/h src/etc src/gmp src/config* src/install.sh src/Makefile.in \ src/util contrib/ src/clx src/tk src/gc src/*.in src/*.m4 src/gabriel \ src/tests/Makefile.in src/ansi-tests/Makefile.in # ==================== Utility Programs for the Build ==================== # Allow the user to specify the install program. INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ # ============================= Build ============================== all: build/Makefile cd build; $(MAKE) .PHONY: all Makefile: Makefile.in build/config.status (cd build; ./config.status) # ==================== Installation ==================== install: build/Makefile (cd build; $(MAKE) install) uninstall: (cd build; $(MAKE) uninstall) # ==================== Documentation ==================== info: (cd ${srcdir}/doc; $(MAKE) info) dvi: (cd ${srcdir}/doc; $(MAKE) dvi) # ==================== Cleaning up and miscellanea ==================== # `clean' # Delete all files from the current directory that are normally # created by building the program. Don't delete the files that # record the configuration. Also preserve files that could be made # by building, but normally aren't because the distribution comes # with them. # clean: cd build; $(MAKE) clean # `distclean' # Delete all files from the current directory that are created by # configuring or building the program. If you have unpacked the # source and built the program without creating any other files, # `make distclean' should leave only the files that were in the # distribution. distclean: clean rm -fr build/config.status rm -f Makefile # `realclean' # Delete everything from the current directory that can be # reconstructed with this Makefile. # One exception, however: `make realclean' should not delete # `configure' even if `configure' can be remade using a rule in the # Makefile. More generally, `make realclean' should not delete # anything that needs to exist in order to run `configure' and then # begin to build the program. realclean: distclean TAGS tags: (cd ${srcdir}/src; \ etags c/*.[cd] h/*.h) check: @echo "We don't have any tests for ECL yet." TAR_DIR=ecl-$(VERSION) doc: build/doc/index.html -mkdir doc cp build/doc/*.html doc build/doc/index.html: cd build/doc; $(MAKE) source-dist: ecl.tgz ecl-tests.tgz ecl.tgz: doc -rm -rf $(TAR_DIR) mkdir $(TAR_DIR) $(TAR_DIR)/src \ $(TAR_DIR)/src/tests $(TAR_DIR)/src/ansi-tests && \ for i in $(TAR_CONTENTS); do cp -rf $$i $(TAR_DIR)/$$i; done && \ tar -cz --exclude '*~' --exclude '#*' --exclude 'CVS' -f ecl.tgz $(TAR_DIR) -rm -rf $(TAR_DIR) ecl-tests.tgz: -rm -rf $(TAR_DIR) mkdir $(TAR_DIR) && \ mkdir $(TAR_DIR)/src && \ cp -rf src/ansi-tests $(TAR_DIR)/src && \ tar -cz --exclude '*~' --exclude '#*' --exclude 'CVS' -f ecl-tests.tgz $(TAR_DIR); -rm -rf $(TAR_DIR) binary-dist: all su -c "rm -rf tmp" mkdir tmp for i in tmp$(bindir) tmp$(infodir) tmp$(mandir) tmp$(libdir); do \ (echo $$i; IFS="/"; for k in $$i; do echo $$k; (test -d $$k || mkdir $$k); chmod 755 $$k; cd $$k; done); \ done PREFIX=`pwd`/tmp; cd build; $(MAKE) install PREFIX="$${PREFIX}" su -c "chown -R root.root tmp && cd tmp; tar czf ../ecl-$(VERSION)-$(MACHINE).tgz * && cd .. && rm -rf tmp" dist: cd dist; make-dist