mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Fixed building frameworks where the framework has no headers, but the
subprojects do git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@21060 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5f36b12b0e
commit
aab3bd44f3
3 changed files with 47 additions and 36 deletions
|
@ -1,3 +1,12 @@
|
|||
2005-04-06 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
||||
* Instance/framework.make: Create header directories and copy them
|
||||
even if HEADER_FILES is empty. This fixes problems when
|
||||
subprojects have headers, but the top-level framework does not.
|
||||
* Instance/Shared/headers.make (HEADER_FILES_DIR,
|
||||
HEADER_FILES_INSTALL_DIR): Always compute those two variables
|
||||
even if HEADER_FILES is empty.
|
||||
|
||||
2005-04-06 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
||||
* Instance/framework.make ($(FRAMEWORK_HEADER_FILES)): Fixed
|
||||
|
|
|
@ -45,14 +45,14 @@ HEADER_FILES = $($(GNUSTEP_INSTANCE)_HEADER_FILES)
|
|||
shared-instance-headers-install \
|
||||
shared-instance-headers-uninstall
|
||||
|
||||
ifeq ($(HEADER_FILES),)
|
||||
|
||||
shared-instance-headers-install:
|
||||
|
||||
shared-instance-headers-uninstall:
|
||||
|
||||
else # we have some HEADER_FILES
|
||||
|
||||
# We always compute HEADER_FILES_DIR and HEADER_FILES_INSTALL_DIR.
|
||||
# The reason is that frameworks might have headers in subprojects (and
|
||||
# not in the top framework makefile!). Those headers are
|
||||
# automatically used and installed, but in the top-level makefile,
|
||||
# HEADER_FILES = '', still you might want to have a special
|
||||
# HEADER_FILES_DIR and HEADER_FILES_INSTALL_DIR even in this case.
|
||||
# NB: Header installation for frameworks is done by the framework
|
||||
# code.
|
||||
HEADER_FILES_DIR = $($(GNUSTEP_INSTANCE)_HEADER_FILES_DIR)
|
||||
|
||||
ifeq ($(HEADER_FILES_DIR),)
|
||||
|
@ -66,6 +66,14 @@ ifeq ($(HEADER_FILES_INSTALL_DIR),)
|
|||
HEADER_FILES_INSTALL_DIR = $(GNUSTEP_INSTANCE)
|
||||
endif
|
||||
|
||||
ifeq ($(HEADER_FILES),)
|
||||
|
||||
shared-instance-headers-install:
|
||||
|
||||
shared-instance-headers-uninstall:
|
||||
|
||||
else # we have some HEADER_FILES
|
||||
|
||||
#
|
||||
# We provide two different algorithms of installing headers.
|
||||
#
|
||||
|
@ -81,7 +89,7 @@ shared-instance-headers-install: $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)
|
|||
$(ECHO_INSTALLING_HEADERS)for file in $(HEADER_FILES) __done; do \
|
||||
if [ $$file != __done ]; then \
|
||||
$(INSTALL_DATA) $(HEADER_FILES_DIR)/$$file \
|
||||
$(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/$$file; \
|
||||
$(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/$$file; \
|
||||
fi; \
|
||||
done$(END_ECHO)
|
||||
|
||||
|
|
|
@ -111,10 +111,12 @@ FRAMEWORK_DIR = $(GNUSTEP_BUILD_DIR)/$(FRAMEWORK_DIR_NAME)
|
|||
FRAMEWORK_VERSION_DIR_NAME = $(FRAMEWORK_DIR_NAME)/Versions/$(CURRENT_VERSION_NAME)
|
||||
FRAMEWORK_VERSION_DIR = $(GNUSTEP_BUILD_DIR)/$(FRAMEWORK_VERSION_DIR_NAME)
|
||||
|
||||
# This is not doing much at the moment, but at least is defining
|
||||
# This is not doing much at the moment, it is only defining
|
||||
# HEADER_FILES, HEADER_FILES_DIR and HEADER_FILES_INSTALL_DIR in the
|
||||
# standard way. NB: If HEADER_FILES is empty, HEADER_FILES_DIR and
|
||||
# HEADER_FILES_INSTALL_DIR are going to be undefined!
|
||||
# standard way. Please note that HEADER_FILES might be empty even if
|
||||
# we have headers in subprojects that we need to manage and install.
|
||||
# So we assume by default that we have some headers even if
|
||||
# HEADER_FILES is empty.
|
||||
include $(GNUSTEP_MAKEFILES)/Instance/Shared/headers.make
|
||||
|
||||
# FIXME - do we really want to link the framework against all libs ?
|
||||
|
@ -275,14 +277,12 @@ build-framework-dirs:: $(DERIVED_SOURCES_DIR) \
|
|||
$(RM_LN_S) Headers; \
|
||||
$(LN_S) Versions/Current/Headers Headers; \
|
||||
fi$(END_ECHO)
|
||||
ifneq ($(HEADER_FILES),)
|
||||
$(ECHO_NOTHING)cd $(DERIVED_SOURCES_DIR); \
|
||||
if [ ! -h "$(HEADER_FILES_INSTALL_DIR)" ]; then \
|
||||
$(RM_LN_S) ./$(HEADER_FILES_INSTALL_DIR); \
|
||||
$(LN_S) ../$(FRAMEWORK_DIR_NAME)/Headers \
|
||||
./$(HEADER_FILES_INSTALL_DIR); \
|
||||
fi$(END_ECHO)
|
||||
endif
|
||||
|
||||
$(FRAMEWORK_LIBRARY_DIR):
|
||||
$(ECHO_CREATING)$(MKDIRS) $@$(END_ECHO)
|
||||
|
@ -487,15 +487,13 @@ ifeq ($(strip),yes)
|
|||
$(ECHO_STRIPPING)$(STRIP) $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_FILE_NAME)$(END_ECHO)
|
||||
endif
|
||||
$(ECHO_INSTALLING_HEADERS)cd $(GNUSTEP_HEADERS); \
|
||||
if [ "$(HEADER_FILES)" != "" ]; then \
|
||||
$(RM_LN_S) $(HEADER_FILES_INSTALL_DIR); \
|
||||
$(LN_S) `$(REL_PATH_SCRIPT) $(GNUSTEP_HEADERS) $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_DIR_NAME)/Headers` $(HEADER_FILES_INSTALL_DIR); \
|
||||
fi;$(END_ECHO)
|
||||
$(RM_LN_S) $(HEADER_FILES_INSTALL_DIR); \
|
||||
$(LN_S) `$(REL_PATH_SCRIPT) $(GNUSTEP_HEADERS) $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_DIR_NAME)/Headers` $(HEADER_FILES_INSTALL_DIR); \
|
||||
$(END_ECHO)
|
||||
ifneq ($(CHOWN_TO),)
|
||||
$(ECHO_CHOWNING)cd $(GNUSTEP_HEADERS); \
|
||||
if [ "$(HEADER_FILES)" != "" ]; then \
|
||||
$(CHOWN) $(CHOWN_TO) $(HEADER_FILES_INSTALL_DIR); \
|
||||
fi$(END_ECHO)
|
||||
$(CHOWN) $(CHOWN_TO) $(HEADER_FILES_INSTALL_DIR); \
|
||||
$(END_ECHO)
|
||||
endif
|
||||
$(ECHO_NOTHING)cd $(GNUSTEP_LIBRARIES)/$(GNUSTEP_TARGET_LDIR); \
|
||||
$(RM_LN_S) $(FRAMEWORK_LIBRARY_FILE); \
|
||||
|
@ -546,20 +544,18 @@ ifeq ($(strip),yes)
|
|||
$(ECHO_STRIPPING)$(STRIP) $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_FILE_NAME)$(END_ECHO)
|
||||
endif
|
||||
$(ECHO_INSTALLING_HEADERS)cd $(GNUSTEP_HEADERS); \
|
||||
if [ "$(HEADER_FILES)" != "" ]; then \
|
||||
if test -d "$(HEADER_FILES_INSTALL_DIR)"; then \
|
||||
rm -Rf $(HEADER_FILES_INSTALL_DIR); \
|
||||
fi; \
|
||||
$(MKINSTALLDIRS) $(HEADER_FILES_INSTALL_DIR); \
|
||||
cd $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_VERSION_DIR_NAME)/Headers ; \
|
||||
$(TAR) cfX - $(GNUSTEP_MAKEFILES)/tar-exclude-list . | (cd $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR); \
|
||||
$(TAR) xf - ); \
|
||||
fi;$(END_ECHO)
|
||||
if test -d "$(HEADER_FILES_INSTALL_DIR)"; then \
|
||||
rm -Rf $(HEADER_FILES_INSTALL_DIR); \
|
||||
fi; \
|
||||
$(MKINSTALLDIRS) $(HEADER_FILES_INSTALL_DIR); \
|
||||
cd $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_VERSION_DIR_NAME)/Headers ; \
|
||||
$(TAR) cfX - $(GNUSTEP_MAKEFILES)/tar-exclude-list . | (cd $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR); \
|
||||
$(TAR) xf - ); \
|
||||
$(END_ECHO)
|
||||
ifneq ($(CHOWN_TO),)
|
||||
$(ECHO_CHOWNING)cd $(GNUSTEP_HEADERS); \
|
||||
if [ "$(HEADER_FILES)" != "" ]; then \
|
||||
$(CHOWN) -R $(CHOWN_TO) $(HEADER_FILES_INSTALL_DIR); \
|
||||
fi$(END_ECHO)
|
||||
$(CHOWN) -R $(CHOWN_TO) $(HEADER_FILES_INSTALL_DIR); \
|
||||
$(END_ECHO)
|
||||
endif
|
||||
$(ECHO_NOTHING)cd $(DLL_INSTALLATION_DIR); \
|
||||
if test -r "$(FRAMEWORK_FILE_NAME)"; then \
|
||||
|
@ -595,9 +591,7 @@ internal-framework-uninstall_::
|
|||
fi; \
|
||||
done; \
|
||||
fi; \
|
||||
if [ -n "$(HEADER_FILES)" ]; then \
|
||||
$(RM_LN_S) $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR) ; \
|
||||
fi; \
|
||||
$(RM_LN_S) $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR) ; \
|
||||
rm -rf $(FRAMEWORK_INSTALL_DIR)/$(FRAMEWORK_DIR_NAME) ; \
|
||||
cd $(GNUSTEP_LIBRARIES)/$(GNUSTEP_TARGET_LDIR); \
|
||||
$(RM_LN_S) $(FRAMEWORK_LIBRARY_FILE); \
|
||||
|
|
Loading…
Reference in a new issue