Mercurial > hg > octave-lyh
view octMakefile.in @ 6800:afbd31bb7b4e ss-2-9-13
[project @ 2007-07-25 20:54:34 by jwe]
author | jwe |
---|---|
date | Wed, 25 Jul 2007 20:54:34 +0000 |
parents | 18b7ab1ad68b |
children | deb175b6e4a1 |
line wrap: on
line source
# # Makefile for octave # # John W. Eaton # jwe@bevo.che.wisc.edu # University of Wisconsin-Madison # Department of Chemical Engineering TOPDIR = . srcdir = @srcdir@ top_srcdir = @top_srcdir@ abs_top_srcdir = @abs_top_srcdir@ VPATH = @srcdir@ include $(TOPDIR)/Makeconf INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ BUILT_CONF_DISTFILES = Makefile CONF_DISTFILES = Makefile.in octMakefile.in Makeconf.in \ configure configure.in config.guess config.sub aclocal.m4 \ acx_blas.m4 acx_lapack.m4 config.h.in install-sh autogen.sh BUILT_DISTFILES = $(BUILT_CONF_DISTFILES) BUGS INSTALL.OCTAVE DISTFILES = $(CONF_DISTFILES) \ COPYING FLEX.patch INSTALL NEWS \ NEWS.[0-9] PROJECTS README README.Linux README.Windows \ README.Cygwin README.MSVC \ README.MachTen README.kpathsea ROADMAP SENDING-PATCHES \ THANKS move-if-change octave-sh octave-bug.in \ octave-config.in mk-opts.pl mkinstalldirs \ mkoctfile.in run-octave.in gdbinit.in ChangeLog ChangeLog.[0-9] # Subdirectories in which to run `make all'. SUBDIRS = @DLFCN_DIR@ libcruft liboctave src scripts doc examples # Subdirectories in which to run `make all'. INSTALL_SUBDIRS = libcruft liboctave src scripts doc examples # Subdirectories in which to run `make conf-dist'. CONF_DISTSUBDIRS = src # Subdirectories in which to run `make dist'. DISTSUBDIRS = $(sort $(SUBDIRS) dlfcn test emacs) # Subdirectories in which to run clean targets. CLEANSUBDIRS = $(DISTSUBDIRS) DIRS_TO_MAKE = $(bindir) $(libdir) $(octincludedir)/octave $(fcnfiledir) \ $(octfiledir) $(archlibdir) $(localarchlibdir) $(localverarchlibdir) \ $(shell echo $(localfcnfilepath) | awk -F: '{for (i=1; i<=NF; i++) print $$i}') \ $(shell echo $(localoctfilepath) | awk -F: '{for (i=1; i<=NF; i++) print $$i}') SHELL_SCRIPTS = octave-bug octave-config mkoctfile run-octave all: $(SHELL_SCRIPTS) $(filter-out libcruft liboctave, $(SUBDIRS)) dist-info-files @echo "" @echo "Octave successfully built. Now choose from the following:" @echo "" @echo " ./run-octave - to run in place" @echo " make check - to run the tests" @echo " make install - to install" @echo "" .PHONY: all src: liboctave liboctave: libcruft $(SUBDIRS): $(MAKE) -C $@ all .PHONY: $(SUBDIRS) octave-bug: octave-bug.in Makeconf octMakefile @$(do-subst-config-vals) chmod a+rx $@ octave-config: octave-config.in Makeconf octMakefile @$(do-subst-default-vals) chmod a+rx $@ mkoctfile: mkoctfile.in Makeconf octMakefile @$(do-subst-config-vals) chmod a+rx $@ run-octave: run-octave.in Makeconf octMakefile @$(do-subst-script-vals) chmod a+rx "$@" .gdbinit: gdbinit.in Makeconf octMakefile $(do-subst-script-vals) check: $(MAKE) -C test $@ .PHONY: check octave.info: $(MAKE) -C doc/interpreter octave.info .PHONY: octave.info BUGS INSTALL.OCTAVE: $(MAKE) -C doc ../$@ .PHONY: BUGS INSTALL.OCTAVE install install-strip :: $(top_srcdir)/mkinstalldirs $(addprefix $(DESTDIR), $(DIRS_TO_MAKE)) rm -f $(DESTDIR)$(bindir)/octave-bug $(INSTALL_SCRIPT) octave-bug $(DESTDIR)$(bindir)/octave-bug-$(version) (cd $(DESTDIR)$(bindir); $(LN_S) octave-bug-$(version) $(DESTDIR)$(bindir)/octave-bug) rm -f $(DESTDIR)$(bindir)/octave-config $(INSTALL_SCRIPT) \ octave-config $(DESTDIR)$(bindir)/octave-config-$(version) (cd $(DESTDIR)$(bindir); $(LN_S) octave-config-$(version) $(DESTDIR)$(bindir)/octave-config) rm -f $(DESTDIR)$(bindir)/mkoctfile $(INSTALL_SCRIPT) mkoctfile $(DESTDIR)$(bindir)/mkoctfile-$(version) (cd $(DESTDIR)$(bindir); $(LN_S) mkoctfile-$(version) $(DESTDIR)$(bindir)/mkoctfile) $(INSTALL_DATA) config.h $(DESTDIR)$(octincludedir)/octave/config.h $(INSTALL_DATA) $(srcdir)/NEWS $(DESTDIR)$(datadir)/octave/$(version)/NEWS uninstall:: rm -f $(DESTDIR)$(bindir)/octave-bug rm -f $(DESTDIR)$(bindir)/octave-bug-$(version) rm -f $(DESTDIR)$(bindir)/octave-config rm -f $(DESTDIR)$(bindir)/octave-config-$(version) rm -f $(DESTDIR)$(bindir)/mkoctfile rm -f $(DESTDIR)$(bindir)/mkoctfile-$(version) rm -f $(DESTDIR)$(octincludedir)/octave/config.h rm -f $(DESTDIR)$(datadir)/octave/$(version)/NEWS maintainer-clean:: @echo "" @echo "************************************************************" @echo "* *" @echo "* This command is intended for maintainers to use; it *" @echo "* deletes files that may require special tools to rebuild. *" @echo "* *" @echo "************************************************************" @echo "" install install-strip uninstall tags TAGS:: $(foreach d, $(INSTALL_SUBDIRS), $(do-subdir-for-command)) .PHONY: install install-strip uninstall tags clean mostlyclean distclean maintainer-clean:: $(foreach d, $(CLEANSUBDIRS), $(do-subdir-for-command)) .PHONY: clean mostlyclean distclean maintainer-clean maintainer-clean distclean:: rm -f octMakefile Makefile Makeconf Makefrag.f77 Makerules.f77 rm -f config.cache config.h config.log config.status rm -rf autom4te.cache rm -f $(SHELL_SCRIPTS) .gdbinit rm -f unistd.h maintainer-clean:: rm -f configure config.h.in BUGS INSTALL.OCTAVE # Rules for making a source distribution. dist-info-files: INSTALL.OCTAVE BUGS .PHONY: dist-info-files # The dist target depends on all because we use Octave to build some # figures for the manual. It's best to create those figures with the # version of Octave that we are distributing (it may even be required). dist: all echo octave-$(version) > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(addprefix $(srcdir)/, $(DISTFILES)) `cat .fname` ln $(BUILT_DISTFILES) `cat .fname` for dir in $(DISTSUBDIRS); do \ mkdir `cat .fname`/$$dir; \ $(MAKE) -C $$dir dist; \ done tar chf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` tar xf `cat .fname`.tar find `cat .fname` \( \( -name RCS -a -type d \) \ -o \( -name CVS -a -type d \) -o \( -name OLD -a -type d \) \ -o \( -name autom4te.cache -a -type d \) \ -o -name "=*" -o -name '*~' -o -name '#*#' -o -name config.log \ -o -name config.status -o -name config.cache -o -name stamp-h \ -o -name klibtool.config -o -name stamp-auto \ -o -name c-auto.h \) -print | xargs rm -rf rm -f `cat .fname`/test/octave.test/*.m chmod -R a+rwX `cat .fname` tar cf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` gzip -9 --stdout `cat .fname`.tar > `cat .fname`.tar.gz bzip2 -9 --stdout `cat .fname`.tar > `cat .fname`.tar.bz2 date -u > md5sum md5sum `cat .fname`.tar.gz `cat .fname`.tar.bz2 >> md5sum touch `cat .fname`.tar.gz `cat .fname`.tar.bz2 md5sum rm -f .fname @echo "*******************" @echo "Tag the CVS archive" @echo "*******************" .PHONY: dist # Rules for making a snapshot. snapshot-version: @echo "creating src/version.h" @gawk '/#define OCTAVE_VERSION[ \t]*/ { \ datestring = strftime("%y%m%d", systime()); \ printf("#define OCTAVE_VERSION \"ss-%s\"\n", datestring); \ next; \ } { print $$0 }' src/version.h > src/version.h.new @$(top_srcdir)/move-if-change src/version.h.new src/version.h .PHONY: snapshot-version snapshot: snapshot-version $(MAKE) dist .PHONY: snapshot # Rules for making a dist of just the stuff needed to run configure. conf-dist: echo config-dist-$(version) > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(CONF_DISTFILES) `cat .fname` ln $(BUILT_CONF_DISTFILES) `cat .fname` for dir in $(CONF_DISTSUBDIRS); do \ mkdir `cat .fname`/$$dir; \ $(MAKE) -C $$dir conf-dist; \ done tar chf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` gzip --best `cat .fname`.tar rm -f .fname .PHONY: conf-dist .NOTPARALLEL: