# # Makefile for ECoLisp # top_srcdir= @top_srcdir@ srcdir = @srcdir@ # Programs used by "make": # CC = @ECL_CC@ LIBS = @STATICLIBS@ @LIBS@ @TKLIBS@ @CLIBS@ LDFLAGS = @LDFLAGS@ RM = @RM@ EXE = @EXEEXT@ # ==================== Where To Install Things ==================== # The default location for installation. Everything is placed in # subdirectories of this directory. The default values for many of # the variables below are expressed in terms of this one, so you may # not need to change them. This defaults to /usr/local. prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ libdir=@libdir@ # Programs used by "make install": # SHELL = @SHELL@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ mkinstalldirs = $(SHELL) $(top_srcdir)/gc/mkinstalldirs # Files SUBDIR = @SUBDIR@ LIBRARIES = @LIBRARIES@ LSP_LIBRARIES = @LSP_LIBRARIES@ TARGETS = @TARGETS@ all: $(TARGETS) ecl-config doc .PHONY: all %Makefile: $(srcdir)/%Makefile.in config.status ./config.status ecl$(EXE): ecl_min$(EXE) compile.lsp sysfun.lsp if [ -f CROSS-COMPILER ]; then \ ./CROSS-COMPILER < compile.lsp; \ else \ ./ecl_min < compile.lsp; \ fi ecl_min$(EXE): $(LIBRARIES) .gdbinit @LIBPREFIX@eclmin.@LIBEXT@ if [ -f CROSS-COMPILER ]; then \ touch $@; \ else \ $(CC) $(LDFLAGS) -o $@ cinit.o c/all_symbols.o -L./ @LIBPREFIX@eclmin.@LIBEXT@ $(LIBS);\ fi .gdbinit: $(srcdir)/util/gdbinit cp $(srcdir)/util/gdbinit $@ lsp/config.lsp: lsp/config.pre sed -e 's,@ecldir@,$(libdir),g' < lsp/config.pre > lsp/config.lsp compile.lsp: compile.pre sed -e 's,@ecldir@,$(libdir),g' < compile.pre > compile.lsp ecl-config: ecl-config.pre sed -e 's,~A,$(libdir),;s,~\*,,' \ -e 's,@libdir\\@,$(libdir),' \ -e 's,@includedir\\@,$(libdir)/h,' ecl-config.pre > ecl-config @LIBPREFIX@eclmin.@LIBEXT@: @LIBPREFIX@eclgmp.@LIBEXT@ @LIBPREFIX@eclgc.@LIBEXT@ lsp/config.lsp cd c; $(MAKE) @LIBPREFIX@eclgc.@LIBEXT@: if (echo $(SUBDIR) | grep gc); then \ cd gc; $(MAKE) install; \ cp -rf $(srcdir)/gc/include/private ../h/gc/; \ mv ../@LIBPREFIX@gc.@LIBEXT@ ../@LIBPREFIX@eclgc.@LIBEXT@; \ fi @LIBPREFIX@eclgmp.@LIBEXT@: if (echo $(SUBDIR) | grep gmp); then \ cd gmp; $(MAKE) install; \ mv ../@LIBPREFIX@gmp.@LIBEXT@ ../@LIBPREFIX@eclgmp.@LIBEXT@; \ fi sysfun.lsp: ln -s -f $(srcdir)/cmp/sysfun.lsp ./ BUILD-STAMP: config.status (echo "#"; uname -a) > $@ head -8 config.status | tail -6 >> $@ install: BUILD-STAMP install-base cd c; $(MAKE) prefix=$(prefix) install cd doc; $(MAKE) prefix=$(prefix) install install-base: $(mkinstalldirs) $(bindir) $(libdir)/h for i in $(TARGETS); do \ $(INSTALL) -s $$i $(bindir); \ done; $(INSTALL_SCRIPT) ecl-config $(bindir) for i in BUILD-STAMP $(LSP_LIBRARIES) $(LIBRARIES) c/dpp* help.doc ; do \ $(INSTALL_DATA) $$i $(libdir); \ done $(INSTALL_DATA) h/config.h $(libdir)/h flatinstall: BUILD-STAMP $(MAKE) bindir=$(prefix) libdir=$(prefix) install-base cd c; $(MAKE) prefix=$(prefix) flatinstall cd doc; $(MAKE) prefix=$(prefix) docdir=$(prefix)/doc flatinstall uninstall: for i in $(TARGETS) ecl-config; do rm -rf $(bindir)/$$i; done rm -rf $(libdir) cd doc; $(MAKE) uninstall doc: $(TARGETS) cd doc; $(MAKE) clean: clean_lisp for i in ${SUBDIR}; do (cd $$i; $(MAKE) clean); done $(RM) ecl_min$(EXE) ecl$(EXE) help.doc core a.out $(RM) config.version config.log config.cache $(RM) *.c *.o *.a *.h *.data clean_lisp: for i in lsp cmp clos clx tk; do $(RM) lib$$i.a $$i/?*.{o,dat,c,sdat,h,fas}; done $(RM) help.doc distclean: clean realclean: distclean test1: cd c; $(MAKE) $(MAKE) ecl_min $(MAKE) ecl cd tests; $(MAKE) diff tests tests2 test2: $(MAKE) clean_lisp cd c; $(MAKE) $(MAKE) ecl_min $(RM) ecl $(MAKE) ecl for i in lsp clos cmp; do diff --exclude=\*.o $$i old/$$i; done test3: -mkdir stage2 cp -rf lsp clos cmp stage2 -for i in lsp cmp clos clx tk; do test -f lib$$i.a && mv lib$$i.a stage2; done $(MAKE) clean_lisp ./ecl < compile.lsp -for i in lsp clos cmp clx tk; do test -d $$i && diff --exclude=\*.o $$i stage2/$$i; done | less test: $(MAKE) -C tests $(MAKE) -C ansi-tests > ansi-tests/log #-(diff tests ~/src/tests; diff --exclude log ansi-tests ~/src/ansi-tests) | less