Implemented xxx_HEADER_FILES = AAA/BBB.h. Fixed HEADER_FILES_DIR for framework subprojects. Updated news and release notes.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@29501 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2010-02-07 19:56:09 +00:00
parent 343b043a9f
commit 56af50f4a9
8 changed files with 236 additions and 66 deletions

View file

@ -1,3 +1,41 @@
2010-02-07 Nicola Pero <nicola.pero@meta-innovation.com>
Added support for having header files in sub-subdirectories. Just
list them as in xxx_HEADER_FILES = Beauty/Vanity.h.
* Instance/Shared/headers.make (HEADER_SUBDIRS): New variable.
(HEADER_INSTALL_DIRS_TO_CREATE): New variable.
(shared-instance-headers-install): Create all the required
subdirectories in the header install directory.
($(HEADER_INSTALL_DIRS_TO_CREATE)): New rule.
($(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)): Rule removed.
(shared-instance-headers-uninstall): Remove all the subdirectories
in the header install directory.
* Instance/framework.make (FRAMEWORK_HEADER_SUBDIRS): New
variable. (internal-framework-build-headers): Depend on
FRAMEWORK_HEADER_SUBDIRS. ($(FRAMEWORK_HEADER_SUBDIRS)): New
rule.
* Instance/subproject.make (HEADER_SUBDIRS): Set variable when
OWNING_PROJECT_HEADER_DIR_NAME is set.
(OWNING_PROJECT_HEADER_SUBDIRS): New variable when
OWNING_PROJECT_HEADER_DIR_NAME is set.
(internal-subproject-build-headers): Depend on
OWNING_PROJECT_HEADER_SUBDIRS when OWNING_PROJECT_HEADER_DIR_NAME
is set.
($(OWNING_PROJECT_HEADER_SUBDIRS)): New rule when
OWNING_PROJECT_HEADER_DIR_NAME is set.
Implemented HEADER_FILES_DIR for framework subprojects.
* Instance/subproject.make (HEADER_FILES_DIR): Set this variable
when OWNING_PROJECT_HEADER_DIR_NAME is set.
($(OWNING_PROJECT_HEADER_DIR)/%.h): Support HEADER_FILES_DIR when
OWNIN_PROJECT_HEADER_DIR_NAME is set.
* Documentation/releasenotes.texi: Updated release notes.
* RELEASENOTES: Updated.
* Documentation/news.texi: Added news for 2.2.1.
* NEWS: Updated.
2009-10-26 Adam Fedor <fedor@gnu.org>
* Instance/application.make: Replace deprecated Windows GUI flag.

View file

@ -9,6 +9,18 @@
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@end ifclear
@section Changes in version @samp{2.2.1}
@itemize @bullet
@item Support source files in subdirectories without using a subproject.
@item Support header files in sub-subdirectories.
@item Batch-compile Java files (much faster).
@item Changed default compilation flags to -O2 -g.
@item Fixes for building documentation.
@item Renamed info files to prevent conflicts.
@item Updated cygwin support.
@end itemize
@section Changes in version @samp{2.2.0}
@itemize @bullet

View file

@ -7,6 +7,36 @@ migrate to using a newer version of the make system.
@section Version 2.2.1
@table @samp
@item support for having source files in subdirectories
Starting with version 2.2.1, it is possible to put source files in
subdirectories by specifiying them as in xxx_OBJC_FILES =
Source/Beauty.m. This syntax does not work on versions before 2.2.1
so you should not use it if you want to support older versions of
gnustep-make; previously you had to create a subproject and add a
GNUmakefile in the subdirectory using subproject.make. You can now
spread your source files in multiple subdirectories without using
subprojects.
@item support for having header files in subdirectories
Starting with version 2.2.1, it is possible to put header files in
subdirectories by specifiying them as in xxx_HEADER_FILES =
Beauty/Beauty.h. This syntax does not work on versions before 2.2.1
so you should not use it if you want to support older versions of
gnustep-make. When headers are put in subdirectories specified in
this way, corresponding subdirectories are created when the header
files are installed. For example Beauty/Beauty.h would be
automatically installed into
GNUSTEP_HEADERS/HEADER_FILES_INSTALL_DIR/Beauty/Beauty.h. To get the
same result in versions before 2.2.1 you would have had to manually
create the header installation subdirectories.
@item support for HEADER_FILES_DIR in framework subproject
Before version 2.2.1, specifying xxx_HEADER_FILES_DIR in a framework
subproject would have no effect. Starting with version 2.2.1, the
variable is now recognized and can be used to have the files in a
subdirectory. You should avoid using the variable in framework
subprojects if you want to support older versions of gnustep-make.
@item info files renamed adding a gnustep- prefix
To prevent conflicts with other documentation, all the gnustep-make
info files have been renamed adding a gnustep- prefix. For example,

View file

@ -3,9 +3,9 @@
#
# Makefile fragment with rules to install header files
#
# Copyright (C) 2002 Free Software Foundation, Inc.
# Copyright (C) 2002, 2010 Free Software Foundation, Inc.
#
# Author: Nicola Pero <nicola@brainstorm.co.uk>
# Author: Nicola Pero <nicola.pero@meta-innovation.com>
#
# This file is part of the GNUstep Makefile Package.
#
@ -74,6 +74,28 @@ shared-instance-headers-uninstall:
else # we have some HEADER_FILES
# First of all, we need to deal with a special complication, which is
# if any HEADER_FILES include a subdirectory component (allowed since
# gnustep-make 2.2.1). Ie, something like
#
# HEADER_FILES = Beauty/Pride.h
#
# This is a complication because to install such a file we first need
# to create the directory to install it into.
#
# The following command determines the install (sub)directories that
# we need to create. 'dir' extracts the directory from each file
# ("./" will be returned if there is no such subdirectory); 'sort'
# removes duplicates from the results, and makes sure that the
# directories are in the order that they should be created in
# ("Pride/" comes before "Pride/Beauty"). Finally, filter-out removes
# ./ from the results as we create the root directory separately.
HEADER_SUBDIRS = $(strip $(filter-out ./,$(sort $(dir $(HEADER_FILES)))))
# The complete (full path) directories that we need to create when
# installing.
HEADER_INSTALL_DIRS_TO_CREATE = $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR) $(addprefix $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/,$(HEADER_SUBDIRS))
#
# We provide two different algorithms of installing headers.
#
@ -85,7 +107,7 @@ ifeq ($(GNUSTEP_DEVELOPER),)
# header files, and install all of them. This is the default one.
#
shared-instance-headers-install: $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)
shared-instance-headers-install: $(HEADER_INSTALL_DIRS_TO_CREATE)
$(ECHO_INSTALLING_HEADERS)for file in $(HEADER_FILES) __done; do \
if [ $$file != __done ]; then \
$(INSTALL_DATA) $(HEADER_FILES_DIR)/$$file \
@ -108,7 +130,7 @@ else
#
shared-instance-headers-install: \
$(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR) \
$(HEADER_INSTALL_DIRS_TO_CREATE) \
$(addprefix $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/,$(HEADER_FILES))
$(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/% : $(HEADER_FILES_DIR)/%
@ -116,18 +138,21 @@ $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/% : $(HEADER_FILES_DIR)/%
endif
# Note that we create this directory, if not there yet. In the same
# way, upon uninstall, we delete the directory if it is empty.
$(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR):
# Note that we create these directories, if not there yet. In the
# same way, upon uninstall, we delete the directories if they are
# empty.
$(HEADER_INSTALL_DIRS_TO_CREATE):
$(ECHO_CREATING)$(MKINSTALLDIRS) $@$(END_ECHO)
# TODO/FIXME: the uninstall should delete directories in reverse
# order, else it will not work when more than one are created.
shared-instance-headers-uninstall:
$(ECHO_NOTHING)for file in $(HEADER_FILES) __done; do \
if [ $$file != __done ]; then \
rm -rf $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)/$$file ; \
fi; \
done$(END_ECHO)
-$(ECHO_NOTHING)rmdir $(GNUSTEP_HEADERS)/$(HEADER_FILES_INSTALL_DIR)$(END_ECHO)
-$(ECHO_NOTHING)rmdir $(HEADER_INSTALL_DIRS_TO_CREATE)$(END_ECHO)
endif # HEADER_FILES = ''

View file

@ -3,10 +3,10 @@
#
# Instance Makefile rules to build GNUstep-based frameworks.
#
# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2010 Free Software Foundation, Inc.
#
# Author: Mirko Viviani <mirko.viviani@rccr.cremona.it>
# Author: Nicola Pero <n.pero@mi.flashnet.it>
# Author: Nicola Pero <nicola.pero@meta-innovation.com>
#
# This file is part of the GNUstep Makefile Package.
#
@ -168,11 +168,11 @@ endif
FRAMEWORK_VERSION_DIR = $(GNUSTEP_BUILD_DIR)/$(FRAMEWORK_VERSION_DIR_NAME)
# 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. 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.
# HEADER_FILES, HEADER_SUBDIRS, HEADER_FILES_DIR and
# HEADER_FILES_INSTALL_DIR in the 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
# On windows, this is unfortunately required.
@ -234,6 +234,7 @@ ifeq ($(FOUNDATION_LIB),gnu)
endif
FRAMEWORK_HEADER_FILES = $(addprefix $(FRAMEWORK_VERSION_DIR)/Headers/,$(HEADER_FILES))
FRAMEWORK_HEADER_SUBDIRS = $(addprefix $(FRAMEWORK_VERSION_DIR)/Headers/,$(HEADER_SUBDIRS))
# FIXME - do we really those variables too ?
ifeq ($(FRAMEWORK_VERSION_SUPPORT), yes)
@ -347,6 +348,7 @@ else
endif
internal-framework-build-headers:: $(FRAMEWORK_VERSION_DIR)/Headers \
$(FRAMEWORK_HEADER_SUBDIRS) \
$(FRAMEWORK_HEADER_FILES) \
build-framework-dirs
@ -402,6 +404,9 @@ $(FRAMEWORK_LIBRARY_DIR):
$(FRAMEWORK_VERSION_DIR)/Headers:
$(ECHO_CREATING)$(MKDIRS) $@$(END_ECHO)
$(FRAMEWORK_HEADER_SUBDIRS):
$(ECHO_CREATING)$(MKDIRS) $@$(END_ECHO)
$(DERIVED_SOURCES_DIR): $(DERIVED_SOURCES_DIR)/.stamp
$(DERIVED_SOURCES_DIR)/.stamp:
$(ECHO_CREATING)$(MKDIRS) $(DERIVED_SOURCES_DIR); \
@ -427,7 +432,6 @@ $(DERIVED_SOURCES_DIR)/.stamp:
$(FRAMEWORK_VERSION_DIR)/Headers/%.h: $(HEADER_FILES_DIR)/%.h
$(ECHO_CREATING)$(INSTALL_DATA) $< $@$(END_ECHO)
OBJC_OBJ_FILES_TO_INSPECT = $(OBJC_OBJ_FILES) $(SUBPROJECT_OBJ_FILES)
# FIXME - We should not depend on GNUmakefile - rather we should use

View file

@ -3,10 +3,10 @@
#
# Instance Makefile rules to build subprojects in GNUstep projects.
#
# Copyright (C) 1998, 2001 Free Software Foundation, Inc.
# Copyright (C) 1998, 2001, 2010 Free Software Foundation, Inc.
#
# Author: Jonathan Gapen <jagapen@whitewater.chem.wisc.edu>
# Author: Nicola Pero <nicola@brainstorm.co.uk>
# Author: Nicola Pero <nicola.pero@meta-innovation.com>
#
# This file is part of the GNUstep Makefile Package.
#
@ -71,21 +71,34 @@ endif
ifneq ($(OWNING_PROJECT_HEADER_DIR_NAME),)
.PHONY: internal-subproject-build-headers
# NB: See headers.make for an explanation of how HEADER_SUBDIRS is
# computed.
OWNING_PROJECT_HEADER_DIR = $(GNUSTEP_BUILD_DIR)/$(OWNING_PROJECT_HEADER_DIR_NAME)
HEADER_FILES = $($(GNUSTEP_INSTANCE)_HEADER_FILES)
OWNING_PROJECT_HEADER_FILES = $(patsubst %.h,$(OWNING_PROJECT_HEADER_DIR)/%.h,$(HEADER_FILES))
HEADER_FILES = $($(GNUSTEP_INSTANCE)_HEADER_FILES)
HEADER_SUBDIRS = $(strip $(filter-out ./,$(sort $(dir $(HEADER_FILES)))))
HEADER_FILES_DIR = $($(GNUSTEP_INSTANCE)_HEADER_FILES_DIR)
ifeq ($(HEADER_FILES_DIR),)
HEADER_FILES_DIR = .
endif
OWNING_PROJECT_HEADER_FILES = $(addprefix $(OWNING_PROJECT_HEADER_DIR)/,$(HEADER_FILES))
OWNING_PROJECT_HEADER_SUBDIRS = $(addprefix $(OWNING_PROJECT_HEADER_DIR)/,$(HEADER_SUBDIRS))
# We need to build the OWNING_PROJECT_HEADER_DIR directory here
# because this rule could be executed before the top-level framework
# has built his dirs
internal-subproject-build-headers:: $(OWNING_PROJECT_HEADER_DIR) $(OWNING_PROJECT_HEADER_FILES)
$(OWNING_PROJECT_HEADER_DIR)/%.h: %.h
$(ECHO_CREATING)$(INSTALL_DATA) $< $@$(END_ECHO)
internal-subproject-build-headers:: $(OWNING_PROJECT_HEADER_DIR) \
$(OWNING_PROJECT_HEADER_SUBDIRS) \
$(OWNING_PROJECT_HEADER_FILES)
$(OWNING_PROJECT_HEADER_DIR):
$(ECHO_CREATING)$(MKDIRS) $@$(END_ECHO)
$(OWNING_PROJECT_HEADER_SUBDIRS):
$(ECHO_CREATING)$(MKDIRS) $@$(END_ECHO)
$(OWNING_PROJECT_HEADER_DIR)/%.h: $(HEADER_FILES_DIR)/%.h
$(ECHO_CREATING)$(INSTALL_DATA) $< $@$(END_ECHO)
# End FRAMEWORK code
else
# Start no FRAMEWORK code

101
NEWS
View file

@ -3,7 +3,24 @@
The currently released version is `2.2.0'.
1.1 Changes in version `2.2.0'
1.1 Changes in version `2.2.1'
==============================
* Support source files in subdirectories without using a subproject.
* Support header files in sub-subdirectories.
* Batch-compile Java files (much faster).
* Changed default compilation flags to -O2 -g.
* Fixes for building documentation.
* Renamed info files to prevent conflicts.
* Updated cygwin support.
1.2 Changes in version `2.2.0'
==============================
* New -with-objc-lib-flag for specifying libobjc.
@ -17,12 +34,12 @@ The currently released version is `2.2.0'.
* make uninstall works better now.
1.2 Changes in version `2.0.8'
1.3 Changes in version `2.0.8'
==============================
Minor bug fix to deal with installing in different domains
1.3 Changes in version `2.0.7'
1.4 Changes in version `2.0.7'
==============================
* New configuration file to set default installation
@ -36,7 +53,7 @@ Minor bug fix to deal with installing in different domains
* Test applications linked against gnustep-gui by default
1.4 Changes in version `2.0.6'
1.5 Changes in version `2.0.6'
==============================
* Fixed some spurious rebuilds of plists, and framework headers.
@ -45,7 +62,7 @@ Minor bug fix to deal with installing in different domains
* Install GNUstep.conf in /etc/GNUstep/GNUstep.conf on all systems.
1.5 Changes in version `2.0.5'
1.6 Changes in version `2.0.5'
==============================
* Update C++ and ObjC++ support so that g++ and proper flags are
@ -61,28 +78,28 @@ Minor bug fix to deal with installing in different domains
* ~/GNUstep/GNUstep.sh is no longer sourced.
1.6 Changes in version `2.0.4'
1.7 Changes in version `2.0.4'
==============================
Fixed a bug finding relative paths on Windows (during configuration).
1.7 Changes in version `2.0.3'
1.8 Changes in version `2.0.3'
==============================
New man pages for tools. Better uninstallation of files Add Windows
installer makefile for Applications.
1.8 Changes in version `2.0.2'
1.9 Changes in version `2.0.2'
==============================
Update license to GPLv3.
1.9 Changes in version `2.0.1'
==============================
1.10 Changes in version `2.0.1'
===============================
Bug fixes in filesystem layout and framework installation.
1.10 Changes in version `2.0.0'
1.11 Changes in version `2.0.0'
===============================
The Makefile package has had a major makover which befits a major
@ -152,7 +169,7 @@ with this version of make.
* Fixed rebuilding .plist and .palette files
1.11 Changes in version `1.13.0'
1.12 Changes in version `1.13.0'
================================
Debug libraries now have the same name as normal libraries (i.e. no "_d"
@ -165,12 +182,12 @@ into the same executable.
make package (e.g. with Windows OS). The libraries can still use native
paths.
1.12 Changes in version `1.12.0'
1.13 Changes in version `1.12.0'
================================
Minor fixes.
1.13 Changes in version `1.11.2'
1.14 Changes in version `1.11.2'
================================
The `GNUstep.conf' file is now viewed as the essential determination of
@ -200,7 +217,7 @@ rules.
files in the xxx_OBJCC_FILES variable, and put extra ObjC++ flags in
xxx_OBJCCFLAGS or ADDITIONAL_OBJCCFLAGS.
1.14 Changes in version `1.11.1'
1.15 Changes in version `1.11.1'
================================
Part of the previous change was reversed. Now libobjc is still linked
@ -211,7 +228,7 @@ there is no need to recompile all applications again.
Compilation of GNUstep on cygwin was revampled and fixed due to a
lot of work by Tom MacSween.
1.15 Changes in version `1.11.0'
1.16 Changes in version `1.11.0'
================================
NOTE: The libobjc library is now linked in with the base library and
@ -234,7 +251,7 @@ apps when switching to this new version.
* Support for xxx_WINDRES_FILES on MinGW was implemented.
1.16 Changes in version `1.10.0'
1.17 Changes in version `1.10.0'
================================
* a GNUsteprc file is now automatically created and installed in
@ -253,14 +270,14 @@ apps when switching to this new version.
configure to enable use of built in objc exceptions with compilers
that support it.
1.17 Changes in version `1.9.2'
1.18 Changes in version `1.9.2'
===============================
* Application and Bundles use the latest convention on Apple.
* Improve/Simplify dependency checking when making docs
1.18 Changes in version `1.9.1'
1.19 Changes in version `1.9.1'
===============================
* Remove `--disable-import' option
@ -269,7 +286,7 @@ apps when switching to this new version.
* Framework version and naming clarified.
1.19 Changes in version `1.9.0'
1.20 Changes in version `1.9.0'
===============================
* Support for building in a separate build dir.
@ -278,7 +295,7 @@ apps when switching to this new version.
* List of classes in a framework gets written to the plist file.
1.20 Changes in version `1.8.0'
1.21 Changes in version `1.8.0'
===============================
Read the NEWS file for a complete list of changes since the last stable
@ -287,19 +304,19 @@ certain directories have changed. Generally this will not cause a
problem unless your GNUstep directory is shared by multiple machines
running this and earlier (1.6.x) versions of the software.
1.21 Changes in version `1.7.4'
1.22 Changes in version `1.7.4'
===============================
Bug fixes.
1.22 Changes in version `1.7.3'
1.23 Changes in version `1.7.3'
===============================
* Adds library combo to Headers directory if not flattened.
* Add Markup file (Renaissance) support.
1.23 Changes in version `1.7.2'
1.24 Changes in version `1.7.2'
===============================
-enable-flattened (Flat directory structure) is on by default.
@ -308,12 +325,12 @@ Bug fixes.
* netbsd and openbsd compile fixes.
1.24 Changes in version `1.7.1'
1.25 Changes in version `1.7.1'
===============================
Bug fixes.
1.25 Changes in version `1.7.0'
1.26 Changes in version `1.7.0'
===============================
This version contains a major change in the location of certain
@ -328,7 +345,7 @@ incompatibilities.
* Support for preprocessed Info.plists.
1.26 Changes in version `1.6.0'
1.27 Changes in version `1.6.0'
===============================
Make now configures by default for only one system. To compile and run
@ -342,7 +359,7 @@ configure argument -enable-multi-platform.
* More efficient checks for re-making a project.
1.27 Changes in version `1.5.1'
1.28 Changes in version `1.5.1'
===============================
* Framework support rewritten, also supports multiple names.
@ -362,17 +379,17 @@ configure argument -enable-multi-platform.
* API change: TOOL_INSTALL_DIR.
1.28 Changes in version `1.5.0'
1.29 Changes in version `1.5.0'
===============================
* Add NetBSD Elf support
1.29 Changes in version `1.4.0'
1.30 Changes in version `1.4.0'
===============================
* Update Darwin/GNU gcc and Irix targets
1.30 Changes in version `1.3.4'
1.31 Changes in version `1.3.4'
===============================
This is a first prerelease version for 1.4.
@ -385,14 +402,14 @@ This is a first prerelease version for 1.4.
* Add verbosity levels. Use make messages=yes for full messages.
1.31 Changes in version `1.3.3'
1.32 Changes in version `1.3.3'
===============================
* Recognizes XXX_STANDARD_INSTALL=no to not do installation.
* Updated instructions for MingW/MSYS installation.
1.32 Changes in version `1.3.2'
1.33 Changes in version `1.3.2'
===============================
* Instructions for building on Windows with MSYS
@ -403,7 +420,7 @@ This is a first prerelease version for 1.4.
* Continued reorganization.
1.33 Changes in version `1.3.0'
1.34 Changes in version `1.3.0'
===============================
The package has gone through an extensive reorganization to break up
@ -426,7 +443,7 @@ effect, it also increased the speed of the code by at least a factor of
* Fixes for MacOSX, MingW
1.34 Changes in version `1.2.1'
1.35 Changes in version `1.2.1'
===============================
* the source distribution code has been rewritten to be more general
@ -444,7 +461,7 @@ effect, it also increased the speed of the code by at least a factor of
* various bug fixes and minor improvements.
1.35 Changes in version `1.2.0'
1.36 Changes in version `1.2.0'
===============================
* The core rules and internals of gnustep-make have been
@ -472,7 +489,7 @@ effect, it also increased the speed of the code by at least a factor of
* Much improved Windows path support
1.36 Changes in version `1.0.1'
1.37 Changes in version `1.0.1'
===============================
* Support for Java tools.
@ -483,7 +500,7 @@ effect, it also increased the speed of the code by at least a factor of
* Fixes to run on FreeBSD, Solaris.
1.37 Changes in version `1.0.0'
1.38 Changes in version `1.0.0'
===============================
* Optimizations that in many cases more than double the speed.
@ -494,14 +511,14 @@ effect, it also increased the speed of the code by at least a factor of
* Better checking for mingw and cygwin
1.38 Changes in version `0.9.2'
1.39 Changes in version `0.9.2'
===============================
* HOWTO and faq files moved from core package to here
* Configurable GNUSTEP_LOCAL_ROOT and GNUSTEP_NETWORK_ROOT
1.39 Changes in version `0.9.1'
1.40 Changes in version `0.9.1'
===============================
Make has been reoganized so that it only relies on libraries and other
@ -516,7 +533,7 @@ simplifies compilation and packaging.
* RPM support rewritten from scratch.
1.40 Changes in version `0.9.0'
1.41 Changes in version `0.9.0'
===============================
ffcall library is highly recommended for use with the GNUstep base
@ -533,7 +550,7 @@ package. See the INSTALL file.
* Added support for Frameworks
1.41 Noteworthy changes in version `0.6.6'
1.42 Noteworthy changes in version `0.6.6'
==========================================
The GNUstep system libraries are now installed in a separate system root

View file

@ -8,6 +8,37 @@ using a newer version of the make system.
1.1 Version 2.2.1
=================
`support for having source files in subdirectories'
Starting with version 2.2.1, it is possible to put source files in
subdirectories by specifiying them as in xxx_OBJC_FILES =
Source/Beauty.m. This syntax does not work on versions before
2.2.1 so you should not use it if you want to support older
versions of gnustep-make; previously you had to create a
subproject and add a GNUmakefile in the subdirectory using
subproject.make. You can now spread your source files in multiple
subdirectories without using subprojects.
`support for having header files in subdirectories'
Starting with version 2.2.1, it is possible to put header files in
subdirectories by specifiying them as in xxx_HEADER_FILES =
Beauty/Beauty.h. This syntax does not work on versions before
2.2.1 so you should not use it if you want to support older
versions of gnustep-make. When headers are put in subdirectories
specified in this way, corresponding subdirectories are created
when the header files are installed. For example Beauty/Beauty.h
would be automatically installed into
GNUSTEP_HEADERS/HEADER_FILES_INSTALL_DIR/Beauty/Beauty.h. To get
the same result in versions before 2.2.1 you would have had to
manually create the header installation subdirectories.
`support for HEADER_FILES_DIR in framework subproject'
Before version 2.2.1, specifying xxx_HEADER_FILES_DIR in a
framework subproject would have no effect. Starting with version
2.2.1, the variable is now recognized and can be used to have the
files in a subdirectory. You should avoid using the variable in
framework subprojects if you want to support older versions of
gnustep-make.
`info files renamed adding a gnustep- prefix'
To prevent conflicts with other documentation, all the gnustep-make
info files have been renamed adding a gnustep- prefix. For