tools-make/GNUmakefile.in
Nicola Pero 570334faa4 Install messages.make
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@13863 72102866-910b-0410-8b05-ffd578937521
2002-06-13 16:11:31 +00:00

320 lines
12 KiB
Text

# @configure_input@
#
# Main GNUmakefile for the GNUstep GNUmakefile Package.
#
# Copyright (C) 1997 Free Software Foundation, Inc.
#
# Author: Scott Christley <scottc@net-community.com>
#
# 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,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.make
# To install everything inside a temporary directory (say as part of
# building a binary package - deb or rpm), use something like `make
# install special_prefix=/var/tmp/gnustep-make'
special_prefix =
GNUSTEP_SYSTEM_ROOT = $(special_prefix)@prefix@
GNUSTEP_LOCAL_ROOT = $(special_prefix)@GNUSTEP_LOCAL_ROOT@
GNUSTEP_NETWORK_ROOT = $(special_prefix)@GNUSTEP_NETWORK_ROOT@
srcdir = @srcdir@
VPATH = @srcdir@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
datadir = @datadir@
GNUSTEP_FLATTENED := @GNUSTEP_FLATTENED@
GNUSTEP_TARGET_CPU := @target_cpu@
GNUSTEP_TARGET_OS := @target_os@
GNUSTEP_TARGET_VENDOR := @target_vendor@
GNUSTEP_TARGET_CPU := $(shell $(srcdir)/clean_cpu.sh $(GNUSTEP_TARGET_CPU))
GNUSTEP_TARGET_VENDOR := $(shell $(srcdir)/clean_vendor.sh $(GNUSTEP_TARGET_VENDOR))
GNUSTEP_TARGET_OS := $(shell $(srcdir)/clean_os.sh $(GNUSTEP_TARGET_OS))
GNUSTEP_LIB_COMBO := @ac_cv_library_combo@
ifeq ($(GNUSTEP_FLATTENED),)
GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)
GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(GNUSTEP_LIB_COMBO)
else
GNUSTEP_TARGET_DIR = .
GNUSTEP_TARGET_LDIR = .
endif
makedir = $(GNUSTEP_SYSTEM_ROOT)/Makefiles
tooldir = $(GNUSTEP_SYSTEM_ROOT)/Tools
librarydir = $(GNUSTEP_SYSTEM_ROOT)/Libraries
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
VERTAG = `echo $(GNUSTEP_MAKE_VERSION) | tr '.' '_'`
MAKE_FILES = aggregate.make application.make bundle.make service.make \
common.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 \
spec-rules.template spec-debug-rules.template \
spec-debug-alone-rules.template
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
all: generated-files which_lib$(EXEEXT) user_home$(EXEEXT)
# Please note that you should use a bit of care in the following rule,
# because it must work in a directory which is not the source
# directory - so for example $<, rather than which_lib.c, must be
# used. (I mean: 'cd core/make; cd ..; mkdir make-build; cd
# make-build; ../make/configure --disable-import; make;' must work)
which_lib$(EXEEXT): which_lib.c config.h
$(CC) @CFLAGS@ -Wall -I. -o $@ $<
user_home$(EXEEXT): user_home.c config.h
$(CC) @CFLAGS@ \
-DGNUSTEP_SYSTEM_ROOT=$(GNUSTEP_SYSTEM_ROOT) \
-Wall -I. -o $@ $<
install: all
$(srcdir)/mkinstalldirs $(GNUSTEP_SYSTEM_ROOT) $(makedir) \
$(makedir)/$(GNUSTEP_TARGET_CPU) \
$(makedir)/$(GNUSTEP_TARGET_DIR) \
$(makedir)/Additional \
$(makedir)/Master \
$(makedir)/Instance \
$(makedir)/Instance/Shared \
$(tooldir) \
$(GNUSTEP_SYSTEM_ROOT)/share \
$(GNUSTEP_SYSTEM_ROOT)/Applications \
$(GNUSTEP_SYSTEM_ROOT)/Libraries/$(GNUSTEP_TARGET_LDIR) \
$(GNUSTEP_SYSTEM_ROOT)/Libraries/Resources \
$(GNUSTEP_SYSTEM_ROOT)/Libraries/Java \
$(GNUSTEP_SYSTEM_ROOT)/Headers/$(GNUSTEP_TARGET_DIR) \
$(GNUSTEP_SYSTEM_ROOT)/Tools/$(GNUSTEP_TARGET_LDIR) \
$(GNUSTEP_SYSTEM_ROOT)/Tools/Java \
$(GNUSTEP_SYSTEM_ROOT)/Library/Bundles \
$(GNUSTEP_SYSTEM_ROOT)/Library/Colors \
$(GNUSTEP_SYSTEM_ROOT)/Library/Frameworks \
$(GNUSTEP_SYSTEM_ROOT)/Library/PostScript \
$(GNUSTEP_SYSTEM_ROOT)/Library/Services \
$(GNUSTEP_SYSTEM_ROOT)/Documentation/Developer \
$(GNUSTEP_SYSTEM_ROOT)/Documentation/User \
$(GNUSTEP_SYSTEM_ROOT)/Documentation/info \
$(GNUSTEP_SYSTEM_ROOT)/Documentation/man \
$(GNUSTEP_SYSTEM_ROOT)/Developer/Palettes \
$(GNUSTEP_LOCAL_ROOT)/Applications \
$(GNUSTEP_LOCAL_ROOT)/Libraries/$(GNUSTEP_TARGET_LDIR) \
$(GNUSTEP_LOCAL_ROOT)/Libraries/Resources \
$(GNUSTEP_LOCAL_ROOT)/Libraries/Java \
$(GNUSTEP_LOCAL_ROOT)/Headers/$(GNUSTEP_TARGET_DIR) \
$(GNUSTEP_LOCAL_ROOT)/Tools/$(GNUSTEP_TARGET_LDIR) \
$(GNUSTEP_LOCAL_ROOT)/Tools/Java \
$(GNUSTEP_LOCAL_ROOT)/Library/Bundles \
$(GNUSTEP_LOCAL_ROOT)/Library/Colors \
$(GNUSTEP_LOCAL_ROOT)/Library/Frameworks \
$(GNUSTEP_LOCAL_ROOT)/Library/PostScript \
$(GNUSTEP_LOCAL_ROOT)/Library/Services \
$(GNUSTEP_LOCAL_ROOT)/Documentation/Developer \
$(GNUSTEP_LOCAL_ROOT)/Documentation/User \
$(GNUSTEP_LOCAL_ROOT)/Developer/Palettes \
$(GNUSTEP_LOCAL_ROOT)/Users \
$(GNUSTEP_LOCAL_ROOT)/Users/Administrator \
$(GNUSTEP_NETWORK_ROOT)
$(INSTALL_PROGRAM) -m 755 which_lib$(EXEEXT) \
$(makedir)/$(GNUSTEP_TARGET_DIR)
$(INSTALL_PROGRAM) -m 755 user_home$(EXEEXT) \
$(makedir)/$(GNUSTEP_TARGET_DIR)
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 transform_paths.sh vendor.sh \
ld_lib_path.csh fixpath.sh relative_path.sh ; do \
$(INSTALL_PROGRAM) -m 755 $(srcdir)/$$f $(makedir); \
done
$(INSTALL_PROGRAM) -m 755 GNUstep.sh $(makedir); \
$(INSTALL_PROGRAM) -m 755 GNUstep-reset.sh $(makedir); \
$(INSTALL_PROGRAM) -m 755 GNUstep.csh $(makedir); \
$(INSTALL_PROGRAM) -m 755 openapp $(tooldir); \
$(INSTALL_PROGRAM) -m 755 debugapp $(tooldir); \
$(INSTALL_PROGRAM) -m 755 opentool $(tooldir);
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
$(INSTALL_DATA) executable.template $(makedir)
$(INSTALL_DATA) $(srcdir)/config.site $(GNUSTEP_SYSTEM_ROOT)/share
$(INSTALL_DATA) config.make $(makedir)/$(GNUSTEP_TARGET_DIR)
#
# NICOLA - Need to clean the following message and print it at the end
# of the install rule
#
# @echo ""
# @echo "IMPORTANT: you need to execute a shell initialization script"
# @echo "before you can use gnustep-make. The command to run the shell"
# @echo "initialization script is:"
# @echo ". $(makedir)/GNUstep.sh"
# @echo "(be careful to put the space after the dot)"
# @echo "Please run it now."
# @echo ""
uninstall:
rm -f $(makedir)/$(GNUSTEP_TARGET_DIR)/which_lib$(EXEEXT)
rm -f $(makedir)/$(GNUSTEP_TARGET_DIR)/user_home$(EXEEXT)
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 \
transform_paths.sh vendor.sh \
ld_lib_path.csh fixpath.sh \
GNUstep.sh GNUstep.csh ; do \
rm -f $(makedir)/$$f; \
done
rm -f $(tooldir)/openapp; \
rm -f $(tooldir)/debugapp; \
rm -f $(tooldir)/opentool; \
for f in $(MAKE_FILES); do \
rm -f $(makedir)/$$f; \
done
rm -f $(makedir)/executable.template
rm -f $(GNUSTEP_SYSTEM_ROOT)/share/config.site
rm -f $(makedir)/$(GNUSTEP_TARGET_DIR)/config.make
clean:
rm -f *~ which_lib$(EXEEXT) user_home$(EXEEXT) \
Master/*~ Instance/*~ Instance/Shared/*~
distclean: clean
rm -f GNUmakefile config.make config.h
rm -f config.cache config.log config.status
rm -f openapp
rm -f debugapp
rm -f opentool
rm -f executable.template
rm -f GNUmakefile
rm -f GNUstep.sh
rm -f GNUstep.csh
rm -f gnustep-make.spec
rm -f Documentation/GNUmakefile
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)
tgz:
@echo "Generating gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz"; \
echo "in the parent directory..."; \
SNAPSHOT_DIR=`basename $$(pwd)`; \
cd ..; \
if [ "$$SNAPSHOT_DIR" != "gnustep-make-$(GNUSTEP_MAKE_VERSION)" ]; then \
mv $$SNAPSHOT_DIR gnustep-make-$(GNUSTEP_MAKE_VERSION); \
fi; \
tar cfz gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION); \
if [ "$$SNAPSHOT_DIR" != "gnustep-make-$(GNUSTEP_MAKE_VERSION)" ]; then \
mv gnustep-make-$(GNUSTEP_MAKE_VERSION) $$SNAPSHOT_DIR; \
fi;
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)
rpm: test-RPM_TOPDIR tgz
cp ../gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz $(RPM_TOPDIR)/SOURCES/
cp gnustep-make.spec $(RPM_TOPDIR)/SPECS/
cd $(RPM_TOPDIR)/SPECS/
rpm -ba gnustep-make.spec
generated-files: GNUmakefile GNUstep.sh GNUstep.csh config.h config.make debugapp openapp opentool gnustep-make.spec executable.template
GNUmakefile: GNUmakefile.in config.status
$(SHELL) config.status
GNUstep.sh: GNUstep.sh.in
$(SHELL) config.status
GNUstep.csh: GNUstep.csh.in
$(SHELL) config.status
config.h: config.h.in
$(SHELL) config.status
config.make: config.make.in Version
$(SHELL) config.status --recheck
debugapp: debugapp.in
$(SHELL) config.status
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