# @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 3 # 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. # 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@ mandir = $(DESTDIR)@GNUSTEP_SYSTEM_DOC_MAN@ 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 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 nsis.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 "$(srcdir)/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) "$(srcdir)/app-wrapper.template" "$(makedir)"; \ $(INSTALL_DATA) "$(srcdir)/nsi-app.template" "$(makedir)"; \ $(INSTALL_DATA) executable.template "$(makedir)"; \ $(INSTALL_DATA) config-noarch.make "$(makedir)"; \ $(INSTALL_DATA) filesystem.make "$(makedir)"; \ $(INSTALL_DATA) config.make "$(makedir)/$(GNUSTEP_TARGET_LDIR)") $(EC)(echo "Installing manpages"; \ "$(srcdir)/mkinstalldirs" "$(mandir)/man1" \ "$(mandir)/man7"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/debugapp.1" "$(mandir)/man1"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/debugapp.1.gz" && gzip -9 "$(mandir)/man1/debugapp.1"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-config.1" "$(mandir)/man1"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-config.1.gz" && gzip -9 "$(mandir)/man1/gnustep-config.1"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/openapp.1" "$(mandir)/man1"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/openapp.1.gz" && gzip -9 "$(mandir)/man1/openapp.1"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/opentool.1" "$(mandir)/man1"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/opentool.1.gz" && gzip -9 "$(mandir)/man1/opentool.1"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/GNUstep.7" "$(mandir)/man7"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/GNUstep.7.gz" && gzip -9 "$(mandir)/man7/GNUstep.7"; \ $(INSTALL_DATA) "$(srcdir)/Documentation/library-combo.7" "$(mandir)/man7"; \ which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/library-combo.7.gz" && gzip -9 "$(mandir)/man7/library-combo.7") $(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: rm -f "$(mandir)/man1/debugapp.1" "$(mandir)/man1/debugapp.1.gz"; \ rm -f "$(mandir)/man1/gnustep-config.1" "$(mandir)/man1/gnustep-config.1.gz"; \ rm -f "$(mandir)/man1/openapp.1" "$(mandir)/man1/openapp.1.gz"; \ rm -f "$(mandir)/man1/opentool.1" "$(mandir)/man1/opentool.1.gz"; \ rm -f "$(mandir)/man7/GNUstep.7" "$(mandir)/man7/GNUstep.7.gz"; \ rm -f "$(mandir)/man7/library-combo.7" "$(mandir)/man7/library-combo.7.gz" -rmdir "$(mandir)/man1" -rmdir "$(mandir)/man7" -rmdir "$(mandir)" 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 "$(makedir)/nsi-app.template" rm -f "$(GNUSTEP_SYSTEM_ROOT)/share/config.site" rm -f "$(makedir)/config-noarch.make" rm -f "$(makedir)/filesystem.make" rm -f "$(makedir)/$(GNUSTEP_TARGET_LDIR)/config.make" rm -f "$(GNUSTEP_CONFIG_FILE)" -rmdir "$(GNUSTEP_CONFIG_FILE_DIR)" -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)" \ "$(tooldir)"; 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.out config-precomp-test.h.gch config-precomp-test.log svn-tag: svn copy $(SVNPREFIX)/trunk $(SVNPREFIX)/tags/make-$(VERTAG) \ -m "Tag version $(VERTAG)" svn-tag-stable: svn copy $(SVNPREFIX)/branches/stable $(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