tools-make/GNUmakefile.in

393 lines
15 KiB
Text
Raw Permalink Normal View History

# @configure_input@
#
# Main GNUmakefile for the GNUstep GNUmakefile Package.
#
# Copyright (C) 1997-2006 Free Software Foundation, Inc.
#
# Author: Scott Christley <scottc@net-community.com>
# Author: Nicola Pero <n.pero@mi.flashnet.it>
#
# 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