# # Top-level Makefile for the Harvest distribution. # # $Id: Makefile.in,v 2.1 1997/11/04 18:14:14 sxw Exp $ # # Valid targets: # make all Builds the Harvest distribution. # make install Installs the Harvest distribution. # make clean Cleans up the distribution. # make distclean Completely cleans up the distribution. # make reconfigure Forces a complete reconfiguration. # # ------------------------------------------------------------------------- # # make reconfigure has been removed - to duplicate its functionality use # make distclean && ./configure # # To stop Harvest from installing in /usr/local/harvest use the --prefix # option to configure ie # ./configure --prefix=/home/joe/harvest # srcdir = @srcdir@ VPATH = $(srcdir) SUBDIRS = src components # These are the available targets (based on the recommended targets for # GNU packages) # These are the most commonly used targets all: this-all do-all clean: do-clean distclean: do-distclean this-distclean install: do-install # Backwards compatibility stuff - these commands were used in the old (pre 1.5) # Harvest Makefiles - now depreciated in favour of the GNU compatible ones. reconfigure: @echo "make reconfigure is not longer supported" @echo "Use make distclean followed by ./configure instead" @exit 1; realclean: distclean # Local targets this-distclean: rm -f Makefile config.status config.cache config.log # make all will also configure the package if it hasn't been done already this-all: config.status config.status: configure @echo Configuration information is not up to date, running configure ./configure # The magical recursive rule ... DO_X = do-clean do-distclean do-all do-install $(DO_X): @target=`echo $@ | sed -e 's/^do-//'`; \ for dir in $(SUBDIRS); do \ echo Making $$target in $$dir; \ if (cd $$dir; $(MAKE) $(MFLAGS) $${target}); \ then true; else exit 1; fi; \ done