# @configure_input@ # # Main GNUmakefile for the GNUstep GNUmakefile Package. # # Copyright (C) 1997-2006 Free Software Foundation, Inc. # # Author: Scott Christley # Author: Nicola Pero # # This file is part of the GNUstep Makefile Package. # # This library 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 2 # of the License, or (at your option) any later version. # # You should have received a copy of the GNU General Public # License along with this library; see the file COPYING.LIB. # If not, write to the Free Software Foundation, # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # I've thought about using the Makefile package files # to install the GNUmakefile package, a cool little recursion, # but there is nothing to made, and the files get installed # in a special directory, so it was simpler this way. # include config-noarch.make include config.make # To install everything inside a temporary directory (say as part of # building a binary package - deb or rpm), use something like `make # install DESTDIR=/var/tmp/gnustep-make' DESTDIR = # 'special_prefix' is an old alias for DESTDIR. ifneq ($(special_prefix),) $(warning "WARNING: special_prefix is deprecated. Please use DESTDIR instead") DESTDIR = $(special_prefix) endif override GNUSTEP_CONFIG_FILE = $(DESTDIR)@GNUSTEP_CONFIG_FILE@ override GNUSTEP_CONFIG_FILE_DIR = $(dir $(GNUSTEP_CONFIG_FILE)) tooldir = $(DESTDIR)@GNUSTEP_SYSTEM_TOOLS@ makedir = $(DESTDIR)@GNUSTEP_MAKEFILES@ srcdir = @srcdir@ VPATH = @srcdir@ override GNUSTEP_IS_FLATTENED = @GNUSTEP_IS_FLATTENED@ override GNUSTEP_TARGET_CPU = @clean_target_cpu@ override GNUSTEP_TARGET_VENDOR = @clean_target_vendor@ override GNUSTEP_TARGET_OS = @clean_target_os@ override GNUSTEP_LIB_COMBO = @ac_cv_library_combo@ ifeq ($(GNUSTEP_IS_FLATTENED), no) override GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS) override GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(GNUSTEP_LIB_COMBO) override MAYBE_LIBRARY_COMBO = $(GNUSTEP_LIB_COMBO) else override GNUSTEP_TARGET_DIR = . override GNUSTEP_TARGET_LDIR = . override MAYBE_LIBRARY_COMBO = . endif export GNUSTEP_TARGET_DIR export GNUSTEP_TARGET_LDIR export MAYBE_LIBRARY_COMBO INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ VERTAG = $(subst .,_,$(GNUSTEP_MAKE_VERSION)) SVNPREFIX=svn+ssh://svn.gna.org/svn/gnustep/tools/make MAKE_FILES = aggregate.make application.make bundle.make service.make \ common.make empty.make filesystem.make library-combo.make java.make jni.make library.make \ messages.make rules.make target.make names.make resource-set.make \ tool.make ctool.make test-library.make \ objc.make test-application.make test-tool.make subproject.make \ palette.make gswapp.make gswbundle.make clibrary.make \ documentation.make \ java-executable.template java-tool.make framework.make \ native-library.make spec-rules.template \ tar-exclude-list gnustep-make-help MASTER_MAKE_FILES = \ aggregate.make source-distribution.make rpm.make rules.make \ application.make bundle.make clibrary.make ctool.make \ documentation.make framework.make gswapp.make gswbundle.make \ library.make objc.make java.make java-tool.make palette.make \ resource-set.make service.make subproject.make test-application.make \ test-library.make test-tool.make tool.make INSTANCE_MAKE_FILES = \ rules.make \ application.make bundle.make clibrary.make ctool.make \ documentation.make framework.make gswapp.make gswbundle.make \ library.make objc.make java.make java-tool.make palette.make \ resource-set.make service.make subproject.make test-application.make \ test-library.make test-tool.make tool.make INSTANCE_SHARED_MAKE_FILES = bundle.make headers.make java.make \ stamp-string.make strings.make INSTANCE_DOC_MAKE_FILES = autogsdoc.make gsdoc.make install_files.make \ javadoc.make latex.make texi.make ifeq ($(messages),yes) EC = else EC = @ endif all: generated-files $(EC)(echo "Thanks. All is ready to install.") install: generated-files $(EC)(echo "Creating system tools directory: $(tooldir)"; \ $(srcdir)/mkinstalldirs $(tooldir); \ echo "Creating makefile directories in: $(makedir)"; \ $(srcdir)/mkinstalldirs \ $(makedir) \ $(makedir)/$(GNUSTEP_TARGET_CPU) \ $(makedir)/$(GNUSTEP_TARGET_DIR) \ $(makedir)/$(GNUSTEP_TARGET_LDIR) \ $(makedir)/Additional \ $(makedir)/Auxiliary \ $(makedir)/Master \ $(makedir)/Instance \ $(makedir)/Instance/Shared \ $(makedir)/Instance/Documentation) $(EC)(echo "Installing GNUstep configuration file in $(GNUSTEP_CONFIG_FILE)"; \ $(srcdir)/mkinstalldirs "$(GNUSTEP_CONFIG_FILE_DIR)"; \ $(INSTALL_DATA) GNUstep.conf "$(GNUSTEP_CONFIG_FILE)") $(EC)(echo "Installing gnustep-make support software") $(EC)(for f in config.guess config.sub install-sh mkinstalldirs \ clean_cpu.sh clean_os.sh \ clean_vendor.sh cpu.sh os.sh vendor.sh \ print_unique_pathlist.sh \ relative_path.sh strip_makefiles.sh; do \ $(INSTALL_PROGRAM) -m 755 $(srcdir)/$$f $(makedir); \ done) $(EC)($(INSTALL_DATA) GNUstep.sh $(makedir); \ $(INSTALL_DATA) GNUstep.csh $(makedir); \ $(INSTALL_DATA) filesystem.sh $(makedir); \ $(INSTALL_DATA) filesystem.csh $(makedir); \ $(INSTALL_DATA) $(srcdir)/ld_lib_path.sh $(makedir); \ $(INSTALL_DATA) $(srcdir)/ld_lib_path.csh $(makedir); \ $(INSTALL_DATA) $(srcdir)/GNUstep-reset.sh $(makedir); \ $(INSTALL_PROGRAM) -m 755 fixpath.sh $(makedir); \ $(INSTALL_PROGRAM) -m 755 openapp $(tooldir); \ $(INSTALL_PROGRAM) -m 755 debugapp $(tooldir); \ $(INSTALL_PROGRAM) -m 755 opentool $(tooldir); \ $(INSTALL_PROGRAM) -m 755 gnustep-config $(tooldir)) $(EC)(echo "Installing makefiles"; \ for f in $(MAKE_FILES); do \ $(INSTALL_DATA) $(srcdir)/$$f $(makedir); \ done; \ for f in $(MASTER_MAKE_FILES); do \ $(INSTALL_DATA) $(srcdir)/Master/$$f $(makedir)/Master; \ done; \ for f in $(INSTANCE_MAKE_FILES); do \ $(INSTALL_DATA) $(srcdir)/Instance/$$f $(makedir)/Instance; \ done; \ for f in $(INSTANCE_SHARED_MAKE_FILES); do \ $(INSTALL_DATA) $(srcdir)/Instance/Shared/$$f \ $(makedir)/Instance/Shared; \ done; \ for f in $(INSTANCE_DOC_MAKE_FILES); do \ $(INSTALL_DATA) $(srcdir)/Instance/Documentation/$$f \ $(makedir)/Instance/Documentation; \ done; \ $(INSTALL_DATA) app-wrapper.template $(makedir); \ $(INSTALL_DATA) executable.template $(makedir); \ $(INSTALL_DATA) config-noarch.make $(makedir); \ $(INSTALL_DATA) config.make $(makedir)/$(GNUSTEP_TARGET_LDIR)) $(EC)(if [ "@GNUSTEP_STRIP_MAKEFILES@" = "strip" ]; then \ echo "Stripping makefiles and shell scripts..."; \ cd $(makedir); ./strip_makefiles.sh; \ fi) # FIXME - review the issue of this config.site. What is it used for ? # $(EC)($(srcdir)/mkinstalldirs $(GNUSTEP_SYSTEM_ROOT)/share; \ # $(INSTALL_DATA) $(srcdir)/config.site $(GNUSTEP_SYSTEM_ROOT)/share) uninstall: for f in config.guess config.sub install-sh mkinstalldirs \ clean_cpu.sh clean_os.sh \ clean_vendor.sh cpu.sh ld_lib_path.sh os.sh \ vendor.sh \ print_unique_pathlist.sh \ ld_lib_path.csh fixpath.sh \ filesystem.sh filesystem.csh \ GNUstep.sh GNUstep.csh GNUstep-reset.sh \ relative_path.sh strip_makefiles.sh; do \ rm -f $(makedir)/$$f; \ done rm -f $(tooldir)/openapp; \ rm -f $(tooldir)/debugapp; \ rm -f $(tooldir)/opentool; \ rm -f $(tooldir)/gnustep-config; \ for f in $(MAKE_FILES); do \ rm -f $(makedir)/$$f; \ done for f in $(MASTER_MAKE_FILES); do \ rm -f $(makedir)/Master/$$f; \ done for f in $(INSTANCE_MAKE_FILES); do \ rm -f $(makedir)/Instance/$$f; \ done for f in $(INSTANCE_SHARED_MAKE_FILES); do \ rm -f $(makedir)/Instance/Shared/$$f; \ done for f in $(INSTANCE_DOC_MAKE_FILES); do \ rm -f $(makedir)/Instance/Documentation/$$f; \ done rm -f $(makedir)/executable.template rm -f $(makedir)/app-wrapper.template rm -f $(GNUSTEP_SYSTEM_ROOT)/share/config.site rm -f $(makedir)/config-noarch.make rm -f $(makedir)/$(GNUSTEP_TARGET_LDIR)/config.make -for f in $(makedir)/Instance/Documentation \ $(makedir)/Instance/Shared \ $(makedir)/Instance \ $(makedir)/Master \ $(makedir)/Auxiliary \ $(makedir)/Additional \ $(makedir)/$(GNUSTEP_TARGET_LDIR) \ $(makedir)/$(GNUSTEP_TARGET_DIR) \ $(makedir)/$(GNUSTEP_TARGET_CPU) \ $(makedir); do \ test -d $$f && rmdir $$f; \ done clean: rm -f *~ Master/*~ Instance/*~ Instance/Shared/*~ distclean: clean rm -f GNUmakefile config-noarch.make config.make config.h rm -f config.cache config.log config.status rm -f openapp opentool executable.template rm -f GNUstep.sh GNUstep.csh fixpath.sh gnustep-config rm -f filesystem.make filesystem.sh filesystem.csh rm -f gnustep-make.spec GNUstep.conf rm -f config-precomp-test.log svn-tag: svn copy $(SVNPREFIX)/trunk $(SVNPREFIX)/tags/make-$(VERTAG) \ -m "Tag version $(VERTAG)" svn-dist: svn export $(SVNPREFIX)/tags/make-$(VERTAG) \ gnustep-make-$(GNUSTEP_MAKE_VERSION) tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) svn-snapshot: svn export $(SVNPREFIX)/trunk \ gnustep-make-$(GNUSTEP_MAKE_VERSION) tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) cvs-tag: cvs -z3 rtag make-$(VERTAG) make cvs-dist: cvs -z3 export -r make-$(VERTAG) make mv make gnustep-make-$(GNUSTEP_MAKE_VERSION) tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) cvs-snapshot: cvs -z3 export -D now make mv make gnustep-make-$(GNUSTEP_MAKE_VERSION) tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) test-RPM_TOPDIR: @(if [ -z "$(RPM_TOPDIR)" ]; then \ echo "Error - RPM_TOPDIR variable not set."; \ echo "You need to set it to the top of your rpm directory tree"; \ exit 1; \ fi) # The check for rpmbuild is for old RPM versions which didn't have # rpmbuild and used 'rpm -ba' instead. It can be removed when we are # reasonably sure no more old RPM versions (not having rpmbuild), are # still around. rpm: test-RPM_TOPDIR dist cp ../gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz $(RPM_TOPDIR)/SOURCES/ cp gnustep-make.spec $(RPM_TOPDIR)/SPECS/ cd $(RPM_TOPDIR)/SPECS/ if which rpmbuild > /dev/null 2>/dev/null; then \ rpmbuild="rpmbuild"; \ else \ if which rpm > /dev/null 2>/dev/null; then \ rpmbuild="rpm"; \ else \ echo "Error: You don't have rpm installed!"; \ rpmbuild="rpmbuild"; \ fi; \ fi; \ $${rpmbuild} -ba gnustep-make.spec generated-files: GNUmakefile GNUstep.sh GNUstep.csh fixpath.sh config-noarch.make config.make \ openapp opentool gnustep-make.spec executable.template gnustep-config \ filesystem.make filesystem.sh filesystem.csh GNUstep.conf GNUmakefile: GNUmakefile.in config.status $(SHELL) config.status GNUstep.sh: GNUstep.sh.in $(SHELL) config.status GNUstep.csh: GNUstep.csh.in $(SHELL) config.status GNUstep.conf: GNUstep.conf.in $(SHELL) config.status fixpath.sh: fixpath.sh.in $(SHELL) config.status filesystem.make: filesystem.make.in $(SHELL) config.status filesystem.sh: filesystem.sh.in $(SHELL) config.status filesystem.csh: filesystem.csh.in $(SHELL) config.status config-noarch.make: config-noarch.make.in Version $(SHELL) config.status --recheck config.make: config.make.in $(SHELL) config.status --recheck openapp: openapp.in $(SHELL) config.status opentool: opentool.in $(SHELL) config.status gnustep-make.spec: gnustep-make.spec.in Version $(SHELL) config.status --recheck executable.template: executable.template.in $(SHELL) config.status gnustep-config: gnustep-config.in $(SHELL) config.status