mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-25 15:10:56 +00:00
Changed to restructure subdirectory layout for binaries and system dependent
resources in a non-flattened installation. First step towards seamless Debian multiarch support. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@39918 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
d318deabb0
commit
e62c615757
12 changed files with 117 additions and 93 deletions
32
ChangeLog
32
ChangeLog
|
@ -1,3 +1,35 @@
|
||||||
|
2016-06-25 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* Documentation/releasenotes.texi:
|
||||||
|
* GNUmakefile.in:
|
||||||
|
* GNUstep.csh.in:
|
||||||
|
* GNUstep.sh.in:
|
||||||
|
* Master/rules.make:
|
||||||
|
* common.make:
|
||||||
|
* config-noarch.make.in:
|
||||||
|
* gnustep-config.in:
|
||||||
|
* openapp.in:
|
||||||
|
* opentool.in:
|
||||||
|
* rules.make:
|
||||||
|
When building non-flattened, the subdirectory name for
|
||||||
|
libraries/binaries is changed for Debian compatibility (and simplicity)
|
||||||
|
to use a directory whose name is of the form architecture/library-combo
|
||||||
|
rather than nested directories of the form cpu/os-abi/library-combo.
|
||||||
|
The architecture name format is a sanitised triplet cpu-os-abi (where
|
||||||
|
previously we had cpu/os-abi).
|
||||||
|
When building non-flattened, header files are now installed in an
|
||||||
|
architecture and library-combo dependent subdirectory in the same way
|
||||||
|
that binary libraries are installed. This removes an inconsistency and
|
||||||
|
makes sense with Debian multiarch support which puts headers in an
|
||||||
|
architecture specific subdirectory.
|
||||||
|
These changes are the first step in making GNUstep work seamlessly
|
||||||
|
with Debian multiarch. To use them you will need to rebuild your
|
||||||
|
entire gnustep installation, and in particular build a version of
|
||||||
|
gnustep-base which has correspoinding changes to know where to look
|
||||||
|
up resources at runtime.
|
||||||
|
However, the changes should have no effect on a flattened installation
|
||||||
|
(currently the default).
|
||||||
|
|
||||||
2016-05-19 Seong Gu Lee <sgleehd@gmail.com>
|
2016-05-19 Seong Gu Lee <sgleehd@gmail.com>
|
||||||
|
|
||||||
* Instance/application.make:
|
* Instance/application.make:
|
||||||
|
|
|
@ -4,6 +4,21 @@ The release notes include descriptions of API changes, behavior
|
||||||
changes and other information that might help developers and users
|
changes and other information that might help developers and users
|
||||||
migrate to using a newer version of the make system.
|
migrate to using a newer version of the make system.
|
||||||
|
|
||||||
|
@section Version 2.7.0
|
||||||
|
|
||||||
|
When building non-flattened, the subdirectory name for libraries/binaries
|
||||||
|
is changed for Debian compatibility (and simplicity) to use a directory
|
||||||
|
whose name is of the form architecture/library-combo rather than nested
|
||||||
|
directories of the form cpu/os-abi/library-combo. The architecture name
|
||||||
|
format is a sanitised triplet cpu-os-abi (where previously we had cpu/os-abi).
|
||||||
|
|
||||||
|
When building non-flattened, header files are now installed in an architecture
|
||||||
|
and library-combo dependent subdirectory in the same way that binary libraries
|
||||||
|
are installed. This removes an inconsistency and makes sense with Debian
|
||||||
|
multiarch support which puts headers in an architecture specific subdirectory.
|
||||||
|
|
||||||
|
The long since deprecated GNUSTEP_INSTALLATION_DIR is removed.
|
||||||
|
|
||||||
@section Version 2.6.8
|
@section Version 2.6.8
|
||||||
|
|
||||||
Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next Generation' setup of the latest ObjectiveC-2 runtime and compiler features rather than traditional runtime. Requires the new runtime and a recent clang compiler.
|
Configure option '--with-library-combo=ng-gnu-gnu' to use the 'Next Generation' setup of the latest ObjectiveC-2 runtime and compiler features rather than traditional runtime. Requires the new runtime and a recent clang compiler.
|
||||||
|
|
|
@ -85,7 +85,7 @@ override GNUSTEP_TARGET_OS = @clean_target_os@
|
||||||
override GNUSTEP_LIB_COMBO = @ac_cv_library_combo@
|
override GNUSTEP_LIB_COMBO = @ac_cv_library_combo@
|
||||||
|
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
||||||
override GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)
|
override GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)-$(GNUSTEP_TARGET_OS)
|
||||||
override GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(GNUSTEP_LIB_COMBO)
|
override GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(GNUSTEP_LIB_COMBO)
|
||||||
override MAYBE_LIBRARY_COMBO = $(GNUSTEP_LIB_COMBO)
|
override MAYBE_LIBRARY_COMBO = $(GNUSTEP_LIB_COMBO)
|
||||||
override MAKE_CONFIG_DIR = $(GNUSTEP_TARGET_LDIR)
|
override MAKE_CONFIG_DIR = $(GNUSTEP_TARGET_LDIR)
|
||||||
|
@ -93,7 +93,7 @@ else
|
||||||
override GNUSTEP_TARGET_DIR = .
|
override GNUSTEP_TARGET_DIR = .
|
||||||
override GNUSTEP_TARGET_LDIR = .
|
override GNUSTEP_TARGET_LDIR = .
|
||||||
override MAYBE_LIBRARY_COMBO = .
|
override MAYBE_LIBRARY_COMBO = .
|
||||||
override MAKE_CONFIG_DIR = $(GNUSTEP_LIB_COMBO)
|
override MAKE_CONFIG_DIR = .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
export GNUSTEP_TARGET_DIR
|
export GNUSTEP_TARGET_DIR
|
||||||
|
@ -192,10 +192,8 @@ install: generated-files
|
||||||
echo "Creating makefile directories in: $(makedir)"; \
|
echo "Creating makefile directories in: $(makedir)"; \
|
||||||
"$(srcdir)/mkinstalldirs" \
|
"$(srcdir)/mkinstalldirs" \
|
||||||
"$(makedir)" \
|
"$(makedir)" \
|
||||||
"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
|
|
||||||
"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
|
"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
|
||||||
"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
|
"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
|
||||||
"$(makedir)/$(GNUSTEP_LIB_COMBO)" \
|
|
||||||
"$(makedir)/Additional" \
|
"$(makedir)/Additional" \
|
||||||
"$(makedir)/Auxiliary" \
|
"$(makedir)/Auxiliary" \
|
||||||
"$(makedir)/Master" \
|
"$(makedir)/Master" \
|
||||||
|
|
|
@ -220,7 +220,7 @@ end
|
||||||
foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_TOOLS_PATHLIST}"'; do echo $i; done'` )
|
foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_TOOLS_PATHLIST}"'; do echo $i; done'` )
|
||||||
set path_fragment="${dir}"
|
set path_fragment="${dir}"
|
||||||
if ( "${GNUSTEP_IS_FLATTENED}" == "no" ) then
|
if ( "${GNUSTEP_IS_FLATTENED}" == "no" ) then
|
||||||
set path_fragment="${dir}:${dir}/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:${dir}/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}"
|
set path_fragment="${dir}:${dir}/${GNUSTEP_HOST_CPU}-${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:${dir}/${GNUSTEP_HOST_CPU}-${GNUSTEP_HOST_OS}"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if ( ! ${?PATH} ) then
|
if ( ! ${?PATH} ) then
|
||||||
|
@ -238,7 +238,7 @@ foreach dir ( `/bin/sh -c 'IFS=:; for i in '"${GNUSTEP_LIBRARIES_PATHLIST}"'; do
|
||||||
if ( "$GNUSTEP_IS_FLATTENED" == "yes" ) then
|
if ( "$GNUSTEP_IS_FLATTENED" == "yes" ) then
|
||||||
set path_fragment="$dir"
|
set path_fragment="$dir"
|
||||||
else
|
else
|
||||||
set path_fragment="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO:$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS"
|
set path_fragment="$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS/$LIBRARY_COMBO:$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
switch ( "${GNUSTEP_HOST_OS}" )
|
switch ( "${GNUSTEP_HOST_OS}" )
|
||||||
|
|
|
@ -332,7 +332,7 @@ for dir in $GNUSTEP_TOOLS_PATHLIST; do
|
||||||
|
|
||||||
# Prepare the path_fragment
|
# Prepare the path_fragment
|
||||||
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
|
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
|
||||||
path_fragment="$dir:$dir/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:$dir/${GNUSTEP_HOST_CPU}/${GNUSTEP_HOST_OS}"
|
path_fragment="$dir:$dir/${GNUSTEP_HOST_CPU}-${GNUSTEP_HOST_OS}/${LIBRARY_COMBO}:$dir/${GNUSTEP_HOST_CPU}-${GNUSTEP_HOST_OS}"
|
||||||
else
|
else
|
||||||
path_fragment="$dir"
|
path_fragment="$dir"
|
||||||
fi
|
fi
|
||||||
|
@ -366,7 +366,7 @@ IFS=:
|
||||||
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
|
if [ "$GNUSTEP_IS_FLATTENED" = "yes" ]; then
|
||||||
path_fragment="$dir"
|
path_fragment="$dir"
|
||||||
else
|
else
|
||||||
path_fragment="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO:$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS"
|
path_fragment="$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS/$LIBRARY_COMBO:$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Append the path_fragment to lib_paths ... in a different way,
|
# Append the path_fragment to lib_paths ... in a different way,
|
||||||
|
|
|
@ -77,8 +77,8 @@ $(GNUSTEP_OBJ_DIR):
|
||||||
# install depends on all as per GNU/Unix habits, conventions and standards.
|
# install depends on all as per GNU/Unix habits, conventions and standards.
|
||||||
|
|
||||||
# The very first top-most make invocation we want to have install
|
# The very first top-most make invocation we want to have install
|
||||||
# depend on internal-check-install-permissions and on all, and
|
# depend on all, and distclean depend on clean.
|
||||||
# distclean depend on clean. We used to check MAKELEVEL=0 here to
|
# We used to check MAKELEVEL=0 here to
|
||||||
# determine if this is the top-most invocation of make, but that does
|
# determine if this is the top-most invocation of make, but that does
|
||||||
# not work if the top-most invocation of make is done from within a
|
# not work if the top-most invocation of make is done from within a
|
||||||
# (non-gnustep-make) makefile itself! So we use a marker variable.
|
# (non-gnustep-make) makefile itself! So we use a marker variable.
|
||||||
|
@ -87,7 +87,7 @@ $(GNUSTEP_OBJ_DIR):
|
||||||
# subinvocations will have it set and we can distinguish them.
|
# subinvocations will have it set and we can distinguish them.
|
||||||
ifeq ($(_GNUSTEP_TOP_INVOCATION_DONE),)
|
ifeq ($(_GNUSTEP_TOP_INVOCATION_DONE),)
|
||||||
# Top-most invocation of make
|
# Top-most invocation of make
|
||||||
install:: internal-check-install-permissions all \
|
install:: all \
|
||||||
before-install internal-install after-install internal-after-install
|
before-install internal-install after-install internal-after-install
|
||||||
|
|
||||||
distclean:: clean before-distclean internal-distclean after-distclean
|
distclean:: clean before-distclean internal-distclean after-distclean
|
||||||
|
@ -127,20 +127,6 @@ internal-jar::
|
||||||
after-jar::
|
after-jar::
|
||||||
|
|
||||||
|
|
||||||
ifneq ($(GNUSTEP_INSTALLATION_DIR),)
|
|
||||||
internal-check-install-permissions:
|
|
||||||
@if [ -d "$(GNUSTEP_INSTALLATION_DIR)" \
|
|
||||||
-a ! -w "$(GNUSTEP_INSTALLATION_DIR)" ]; then \
|
|
||||||
echo "*ERROR*: the software is configured to install itself into $(GNUSTEP_INSTALLATION_DIR)"; \
|
|
||||||
echo "but you do not have permissions to write in that directory:";\
|
|
||||||
echo "Aborting installation."; \
|
|
||||||
echo ""; \
|
|
||||||
exit 1; \
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
internal-check-install-permissions:
|
|
||||||
endif
|
|
||||||
|
|
||||||
# By adding an ADDITIONAL_INSTALL_DIRS variable you can request
|
# By adding an ADDITIONAL_INSTALL_DIRS variable you can request
|
||||||
# additional installation directories to be created before the first
|
# additional installation directories to be created before the first
|
||||||
# installation target is executed. You can also have xxx_INSTALL_DIRS
|
# installation target is executed. You can also have xxx_INSTALL_DIRS
|
||||||
|
|
48
common.make
48
common.make
|
@ -143,8 +143,8 @@ export LIBRARY_COMBO = $(OBJC_RUNTIME_LIB)-$(FOUNDATION_LIB)-$(GUI_LIB)
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
||||||
GNUSTEP_HOST_DIR = $(GNUSTEP_HOST_CPU)/$(GNUSTEP_HOST_OS)
|
GNUSTEP_HOST_DIR = $(GNUSTEP_HOST_CPU)-$(GNUSTEP_HOST_OS)
|
||||||
GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)
|
GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)-$(GNUSTEP_TARGET_OS)
|
||||||
GNUSTEP_HOST_LDIR = $(GNUSTEP_HOST_DIR)/$(LIBRARY_COMBO)
|
GNUSTEP_HOST_LDIR = $(GNUSTEP_HOST_DIR)/$(LIBRARY_COMBO)
|
||||||
GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO)
|
GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO)
|
||||||
else
|
else
|
||||||
|
@ -159,9 +159,10 @@ endif
|
||||||
# this includes CC, OPTFLAG etc.
|
# this includes CC, OPTFLAG etc.
|
||||||
#
|
#
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
||||||
include $(GNUSTEP_MAKEFILES)/$(LIBRARY_COMBO)/config.make
|
include $(GNUSTEP_MAKEFILES)/config.make
|
||||||
else
|
else
|
||||||
include $(GNUSTEP_MAKEFILES)/$(GNUSTEP_TARGET_LDIR)/config.make
|
-include $(GNUSTEP_MAKEFILES)/config.make
|
||||||
|
-include $(GNUSTEP_MAKEFILES)/$(GNUSTEP_TARGET_LDIR)/config.make
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Then, work out precisely library combos etc
|
# Then, work out precisely library combos etc
|
||||||
|
@ -327,7 +328,7 @@ ifneq ($(GNUSTEP_INSTALLATION_DIR),)
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
||||||
GNUSTEP_HEADERS = $(GNUSTEP_INSTALLATION_DIR)/Library/Headers
|
GNUSTEP_HEADERS = $(GNUSTEP_INSTALLATION_DIR)/Library/Headers
|
||||||
else
|
else
|
||||||
GNUSTEP_HEADERS = $(GNUSTEP_INSTALLATION_DIR)/Library/Headers/$(LIBRARY_COMBO)
|
GNUSTEP_HEADERS = $(GNUSTEP_INSTALLATION_DIR)/Library/Headers/$(GNUSTEP_TARGET_LDIR)
|
||||||
endif
|
endif
|
||||||
GNUSTEP_APPLICATION_SUPPORT = $(GNUSTEP_LIBRARY)/ApplicationSupport
|
GNUSTEP_APPLICATION_SUPPORT = $(GNUSTEP_LIBRARY)/ApplicationSupport
|
||||||
GNUSTEP_BUNDLES = $(GNUSTEP_LIBRARY)/Bundles
|
GNUSTEP_BUNDLES = $(GNUSTEP_LIBRARY)/Bundles
|
||||||
|
@ -366,7 +367,7 @@ else
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
||||||
GNUSTEP_HEADERS = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_HEADERS)
|
GNUSTEP_HEADERS = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_HEADERS)
|
||||||
else
|
else
|
||||||
GNUSTEP_HEADERS = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_HEADERS)/$(LIBRARY_COMBO)
|
GNUSTEP_HEADERS = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_HEADERS)/$(GNUSTEP_TARGET_LDIR)
|
||||||
endif
|
endif
|
||||||
GNUSTEP_APPLICATION_SUPPORT = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_APPLICATION_SUPPORT)
|
GNUSTEP_APPLICATION_SUPPORT = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_APPLICATION_SUPPORT)
|
||||||
GNUSTEP_BUNDLES = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_BUNDLES)
|
GNUSTEP_BUNDLES = $(MAYBE_DESTDIR)$(GNUSTEP_$(GNUSTEP_INSTALLATION_DOMAIN)_BUNDLES)
|
||||||
|
@ -457,8 +458,8 @@ ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
||||||
# Later, we'll systematically replace domain with USER, the LOCAL,
|
# Later, we'll systematically replace domain with USER, the LOCAL,
|
||||||
# then NETWORK, then SYSTEM.
|
# then NETWORK, then SYSTEM.
|
||||||
GS_HEADER_PATH = \
|
GS_HEADER_PATH = \
|
||||||
$(GNUSTEP_$(domain)_HEADERS)/$(LIBRARY_COMBO)/$(GNUSTEP_TARGET_DIR) \
|
$(GNUSTEP_$(domain)_HEADERS)/$(GNUSTEP_TARGET_LDIR) \
|
||||||
$(GNUSTEP_$(domain)_HEADERS)/$(LIBRARY_COMBO) \
|
$(GNUSTEP_$(domain)_HEADERS)/$(GNUSTEP_TARGET_DIR) \
|
||||||
$(GNUSTEP_$(domain)_HEADERS)
|
$(GNUSTEP_$(domain)_HEADERS)
|
||||||
|
|
||||||
GS_LIBRARY_PATH = \
|
GS_LIBRARY_PATH = \
|
||||||
|
@ -609,37 +610,6 @@ ifeq ($(OBJC_RUNTIME_LIB), gnu)
|
||||||
OBJC_RUNTIME = GNU
|
OBJC_RUNTIME = GNU
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# If all of the following really needed ? If the system is not
|
|
||||||
# flattened, multiple Foundation libraries are not permitted anyway,
|
|
||||||
# so libFoundation could just put his headers in Foundation/. If
|
|
||||||
# library combos are used, all headers are in a library-combo
|
|
||||||
# directory, so libFoundation could still put his headers in
|
|
||||||
# Foundation/ and no conflict should arise. As for the
|
|
||||||
# GNUSTEP_TARGET_DIR, maybe we should key all of our headers in a
|
|
||||||
# GNUSTEP_TARGET_LDIR directory (rather than just a LIBRARY_COMBO
|
|
||||||
# directory). But does it really matter in practice anyway ?
|
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED),yes)
|
|
||||||
GNUSTEP_HEADERS_FND_DIRS = \
|
|
||||||
$(GNUSTEP_USER_HEADERS)/libFoundation \
|
|
||||||
$(GNUSTEP_LOCAL_HEADERS)/libFoundation \
|
|
||||||
$(GNUSTEP_NETWORK_HEADERS)/libFoundation \
|
|
||||||
$(GNUSTEP_SYSTEM_HEADERS)/libFoundation \
|
|
||||||
$(GNUSTEP_USER_HEADERS)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_LOCAL_HEADERS)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_NETWORK_HEADERS)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_SYSTEM_HEADERS)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME)
|
|
||||||
else
|
|
||||||
GNUSTEP_HEADERS_FND_DIRS = \
|
|
||||||
$(GNUSTEP_USER_HEADERS)/$(LIBRARY_COMBO)/libFoundation \
|
|
||||||
$(GNUSTEP_LOCAL_HEADERS)/$(LIBRARY_COMBO)/libFoundation \
|
|
||||||
$(GNUSTEP_NETWORK_HEADERS)/$(LIBRARY_COMBO)/libFoundation \
|
|
||||||
$(GNUSTEP_SYSTEM_HEADERS)/$(LIBRARY_COMBO)/libFoundation \
|
|
||||||
$(GNUSTEP_USER_HEADERS)/$(LIBRARY_COMBO)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_LOCAL_HEADERS)/$(LIBRARY_COMBO)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_NETWORK_HEADERS)/$(LIBRARY_COMBO)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME) \
|
|
||||||
$(GNUSTEP_SYSTEM_HEADERS)/$(LIBRARY_COMBO)/libFoundation/$(GNUSTEP_TARGET_DIR)/$(OBJC_RUNTIME)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(REMOVE_EMPTY_DIRS), yes)
|
ifeq ($(REMOVE_EMPTY_DIRS), yes)
|
||||||
# Build the GNUSTEP_HEADERS_FND_FLAG by removing the empty dirs
|
# Build the GNUSTEP_HEADERS_FND_FLAG by removing the empty dirs
|
||||||
# from GNUSTEP_HEADERS_FND_DIRS, then prepending -I to each of them
|
# from GNUSTEP_HEADERS_FND_DIRS, then prepending -I to each of them
|
||||||
|
|
|
@ -74,12 +74,10 @@ endif
|
||||||
# not set in the config files (or on the command-line or in
|
# not set in the config files (or on the command-line or in
|
||||||
# environment).
|
# environment).
|
||||||
ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes)
|
ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes)
|
||||||
# FIXME: These should abort if the variables are ever evaluated, but
|
GNUSTEP_SYSTEM_ROOT = $(error GNUSTEP_SYSTEM_ROOT is obsolete)
|
||||||
# it needs testing.
|
GNUSTEP_LOCAL_ROOT = $(error GNUSTEP_LOCAL_ROOT is obsolete)
|
||||||
# GNUSTEP_SYSTEM_ROOT = $(error GNUSTEP_SYSTEM_ROOT is obsolete)
|
GNUSTEP_NETWORK_ROOT = $(error GNUSTEP_NETWORK_ROOT is obsolete)
|
||||||
# GNUSTEP_LOCAL_ROOT = $(error GNUSTEP_LOCAL_ROOT is obsolete)
|
GNUSTEP_USER_DIR = $(error GNUSTEP_USER_DIR is obsolete)
|
||||||
# GNUSTEP_NETWORK_ROOT = $(error GNUSTEP_NETWORK_ROOT is obsolete)
|
|
||||||
# GNUSTEP_USER_DIR = $(error GNUSTEP_USER_DIR is obsolete)
|
|
||||||
else
|
else
|
||||||
GNUSTEP_SYSTEM_ROOT = @GNUSTEP_SYSTEM_ROOT@
|
GNUSTEP_SYSTEM_ROOT = @GNUSTEP_SYSTEM_ROOT@
|
||||||
GNUSTEP_LOCAL_ROOT = @GNUSTEP_LOCAL_ROOT@
|
GNUSTEP_LOCAL_ROOT = @GNUSTEP_LOCAL_ROOT@
|
||||||
|
@ -111,8 +109,7 @@ endif
|
||||||
# GNUSTEP_FLATTENED is obsolete, please use GNUSTEP_IS_FLATTENED
|
# GNUSTEP_FLATTENED is obsolete, please use GNUSTEP_IS_FLATTENED
|
||||||
# instead
|
# instead
|
||||||
ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes)
|
ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes)
|
||||||
# FIXME: Test that this is OK
|
GNUSTEP_FLATTENED = $(error GNUSTEP_FLATTENED is obsolete)
|
||||||
# GNUSTEP_FLATTENED = $(error GNUSTEP_FLATTENED is obsolete)
|
|
||||||
else
|
else
|
||||||
GNUSTEP_FLATTENED = @GNUSTEP_FLATTENED@
|
GNUSTEP_FLATTENED = @GNUSTEP_FLATTENED@
|
||||||
endif
|
endif
|
||||||
|
@ -131,9 +128,7 @@ ifneq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes)
|
||||||
GNUSTEP_USER_ROOT = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR)
|
GNUSTEP_USER_ROOT = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR)
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
# FIXME: Test that this is OK. When I use it, it seems to
|
GNUSTEP_USER_ROOT = $(error GNUSTEP_USER_ROOT is obsolete)
|
||||||
# abort even if GNUSTEP_USER_ROOT is never referenced!
|
|
||||||
# GNUSTEP_USER_ROOT = $(error GNUSTEP_USER_ROOT is obsolete)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# FIXME: Shouldn't the following go into config.make ? They are
|
# FIXME: Shouldn't the following go into config.make ? They are
|
||||||
|
|
|
@ -39,7 +39,11 @@ case "$1" in
|
||||||
--objc-libs) ;;
|
--objc-libs) ;;
|
||||||
--base-libs) ;;
|
--base-libs) ;;
|
||||||
--gui-libs) ;;
|
--gui-libs) ;;
|
||||||
|
--host-dir) ;;
|
||||||
|
--host-ldir) ;;
|
||||||
--installation-domain-for=*) ;;
|
--installation-domain-for=*) ;;
|
||||||
|
--target-dir-for=*) ;;
|
||||||
|
--target-ldir-for=*) ;;
|
||||||
*)
|
*)
|
||||||
# An unrecognized option
|
# An unrecognized option
|
||||||
echo "Unrecognized option: $1"
|
echo "Unrecognized option: $1"
|
||||||
|
@ -97,10 +101,18 @@ if [ "$1" = "--help" ]; then
|
||||||
echo
|
echo
|
||||||
echo "--gui-libs: prints all the flags required to link a GUI ObjC program"
|
echo "--gui-libs: prints all the flags required to link a GUI ObjC program"
|
||||||
echo
|
echo
|
||||||
|
echo "--host-dir: prints the host architecture name"
|
||||||
|
echo
|
||||||
|
echo "--host-ldir: prints the host architecture and library combo name"
|
||||||
|
echo
|
||||||
echo "--installation-domain-for=xxx: prints the value of the default installation domain"
|
echo "--installation-domain-for=xxx: prints the value of the default installation domain"
|
||||||
echo " for the package xxx. The result could be 'SYSTEM', 'NETWORK', 'LOCAL'"
|
echo " for the package xxx. The result could be 'SYSTEM', 'NETWORK', 'LOCAL'"
|
||||||
echo " or 'USER'. This command always returns LOCAL unless the system has been"
|
echo " or 'USER'. This command always returns LOCAL unless the system has been"
|
||||||
echo " personalized using an installation-domains.conf file."
|
echo " personalized using an installation-domains.conf file."
|
||||||
|
echo "--target-dir-for=xxx: prints the standardised target architecture directory"
|
||||||
|
echo
|
||||||
|
echo "--target-ldir-for=xxx: prints the target architecture and library combo name"
|
||||||
|
echo
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -186,9 +198,21 @@ case "$1" in
|
||||||
exit 0;;
|
exit 0;;
|
||||||
--gui-libs) @GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-gui-libs quiet=yes 2>/dev/null
|
--gui-libs) @GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-gui-libs quiet=yes 2>/dev/null
|
||||||
exit 0;;
|
exit 0;;
|
||||||
|
--host-dir) @GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-host-dir quiet=yes 2>/dev/null
|
||||||
|
exit 0;;
|
||||||
|
--host-ldir) @GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-host-ldir quiet=yes 2>/dev/null
|
||||||
|
exit 0;;
|
||||||
--installation-domain-for=*) gs_package_name=`echo "$1" | sed -e 's/--installation-domain-for=//'`
|
--installation-domain-for=*) gs_package_name=`echo "$1" | sed -e 's/--installation-domain-for=//'`
|
||||||
@GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-installation-domain PACKAGE_NAME="$gs_package_name" quiet=yes 2>/dev/null
|
@GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-installation-domain PACKAGE_NAME="$gs_package_name" quiet=yes 2>/dev/null
|
||||||
exit 0;;
|
exit 0;;
|
||||||
|
--target-dir-for=*)
|
||||||
|
gs_target=`echo "$1" | sed -e 's/--target-dir-for=//'`
|
||||||
|
@GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-target-dir target="$gs_target" quiet=yes 2>/dev/null
|
||||||
|
exit 0;;
|
||||||
|
--target-ldir-for=*)
|
||||||
|
gs_target=`echo "$1" | sed -e 's/--target-ldir-for=//'`
|
||||||
|
@GNUMAKE@ --no-print-directory -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-target-ldir target="$gs_target" quiet=yes 2>/dev/null
|
||||||
|
exit 0;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -269,7 +269,7 @@ if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
|
||||||
|
|
||||||
case "$LIBRARY_COMBO" in
|
case "$LIBRARY_COMBO" in
|
||||||
apple-*) openapp_app_executable="$openapp_full_appname/Contents/MacOS/$openapp_appname";;
|
apple-*) openapp_app_executable="$openapp_full_appname/Contents/MacOS/$openapp_appname";;
|
||||||
*) openapp_app_executable="$openapp_full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$openapp_appname";;
|
*) openapp_app_executable="$openapp_full_appname/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$openapp_appname";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
|
@ -153,16 +153,16 @@ case "$tool" in
|
||||||
# GNUSTEP_NETWORK_TOOLS
|
# GNUSTEP_NETWORK_TOOLS
|
||||||
# GNUSTEP_SYSTEM_TOOLS
|
# GNUSTEP_SYSTEM_TOOLS
|
||||||
#
|
#
|
||||||
# We look in the GNUSTEP_HOST_CPU/GNUSTEP_HOST_OS/LIBRARY_COMBO
|
# We look in the GNUSTEP_HOST_CPU-GNUSTEP_HOST_OS/LIBRARY_COMBO
|
||||||
# subdirectory first, then the GNUSTEP_HOST_CPU/GNUSTEP_HOST_OS
|
# subdirectory first, then the GNUSTEP_HOST_CPU-GNUSTEP_HOST_OS
|
||||||
# subdirectory, then the top-level directory.
|
# subdirectory, then the top-level directory.
|
||||||
# (For flattened systems we skip the first two options.
|
# (For flattened systems we skip the first two options.
|
||||||
#
|
#
|
||||||
# TODO: Also search Admin Tools directories if appropriate
|
# TODO: Also search Admin Tools directories if appropriate
|
||||||
for dir in "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" ; do
|
for dir in "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" ; do
|
||||||
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
|
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
|
||||||
tmpgnudir="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS"
|
tmpgnudir="$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS"
|
||||||
tmplibdir="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
|
tmplibdir="$dir/$GNUSTEP_HOST_CPU-$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
|
||||||
# echo "$tmplibdir/$tool";
|
# echo "$tmplibdir/$tool";
|
||||||
if [ -x "$tmplibdir/$tool" ]; then
|
if [ -x "$tmplibdir/$tool" ]; then
|
||||||
# echo "Found: $tmplibdir/$tool";
|
# echo "Found: $tmplibdir/$tool";
|
||||||
|
|
28
rules.make
28
rules.make
|
@ -674,18 +674,6 @@ endif
|
||||||
|
|
||||||
$(GNUSTEP_MAKEFILES)/*.make: ;
|
$(GNUSTEP_MAKEFILES)/*.make: ;
|
||||||
|
|
||||||
ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
|
||||||
# If this file can't be found, we can't load the config for that
|
|
||||||
# library combo / target, so we can't do anything. We print an
|
|
||||||
# error and exit.
|
|
||||||
$(GNUSTEP_MAKEFILES)/$(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO)/config.make:
|
|
||||||
$(ECHO_NOTHING)\
|
|
||||||
echo "Error - can not find configuration for '$(GNUSTEP_TARGET_DIR)/$(LIBRARY_COMBO)'"; \
|
|
||||||
echo "Please configure, make and make install gnustep-make again using"; \
|
|
||||||
echo "./configure --with-library-combo=$(LIBRARY_COMBO)"; \
|
|
||||||
exit 1$(END_ECHO)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(GNUSTEP_MAKEFILES)/Additional/*.make: ;
|
$(GNUSTEP_MAKEFILES)/Additional/*.make: ;
|
||||||
|
|
||||||
$(GNUSTEP_MAKEFILES)/Master/*.make: ;
|
$(GNUSTEP_MAKEFILES)/Master/*.make: ;
|
||||||
|
@ -720,6 +708,10 @@ endif
|
||||||
print-gnustep-make-base-libs \
|
print-gnustep-make-base-libs \
|
||||||
print-gnustep-make-gui-libs \
|
print-gnustep-make-gui-libs \
|
||||||
print-gnustep-make-installation-domain \
|
print-gnustep-make-installation-domain \
|
||||||
|
print-gnustep-make-host-dir \
|
||||||
|
print-gnustep-make-host-ldir \
|
||||||
|
print-gnustep-make-target-dir \
|
||||||
|
print-gnustep-make-target-ldir \
|
||||||
print-gnustep-install-headers \
|
print-gnustep-install-headers \
|
||||||
print-gnustep-install-libraries
|
print-gnustep-install-libraries
|
||||||
|
|
||||||
|
@ -761,6 +753,18 @@ print-gnustep-make-gui-libs:
|
||||||
print-gnustep-make-installation-domain:
|
print-gnustep-make-installation-domain:
|
||||||
@(echo $(GNUSTEP_INSTALLATION_DOMAIN))
|
@(echo $(GNUSTEP_INSTALLATION_DOMAIN))
|
||||||
|
|
||||||
|
print-gnustep-make-host-dir:
|
||||||
|
@(echo $(GNUSTEP_HOST_DIR))
|
||||||
|
|
||||||
|
print-gnustep-make-target-ldir:
|
||||||
|
@(echo $(GNUSTEP_TARGET_LDIR))
|
||||||
|
|
||||||
|
print-gnustep-make-target-dir:
|
||||||
|
@(echo $(GNUSTEP_TARGET_DIR))
|
||||||
|
|
||||||
|
print-gnustep-make-host-ldir:
|
||||||
|
@(echo $(GNUSTEP_HOST_LDIR))
|
||||||
|
|
||||||
# These targets are used if gnustep-config can't be found but GNUSTEP_MAKEFILES
|
# These targets are used if gnustep-config can't be found but GNUSTEP_MAKEFILES
|
||||||
# is defined ... they let you get libraries and their headers (eg libobjc2)
|
# is defined ... they let you get libraries and their headers (eg libobjc2)
|
||||||
# installed in the right place.
|
# installed in the right place.
|
||||||
|
|
Loading…
Reference in a new issue