Mercurial > hg > octave-nkf
view octMakefile.in @ 7259:9f02c32eb70d ss-2-9-18
[project @ 2007-12-05 18:02:33 by jwe]
author | jwe |
---|---|
date | Wed, 05 Dec 2007 18:02:34 +0000 |
parents | c5a024013d2d |
children | 3ceb12c499e9 |
line wrap: on
line source
# Makefile for octave # # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton # # This file is part of Octave. # # Octave is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 3 of the License, or (at # your option) any later version. # # Octave is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with Octave; see the file COPYING. If not, see # <http://www.gnu.org/licenses/>. 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 INSTALL NEWS \ NEWS.[0-9] PROJECTS README README.Linux README.Windows \ README.Cygwin README.MSVC 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 ChangeLog ChangeLog.[0-9] # Subdirectories in which to run `make all'. SUBDIRS = 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) 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 to test before installing" @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 "$@" 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 rm -f config.cache config.h config.log config.status rm -rf autom4te.cache rm -f $(SHELL_SCRIPTS) 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: