tools-make/Instance
Richard Frith-Macdonald 2270671e94 It turns out that, in gnustep-make the mingw64 support was incomplete,
so when we correctly detect mingw64 rather than mingw32 we actually
broke building of Gorm on mingw64.  Additionally, examination of the
cases where we do differentiate between mingw32 and mingw64, in all but
one of them we do the same thing for both.  That being the case, it
makes more sense to scrap the code to differentiate between the two
systems (except in the one case in target.make where we need to be aware
that the two systems prefix class names differently in the object
files), and adopt the triplet used by the mingw-w64 project (where os is
always mingw32 and we differentaiate 64bit windows using the vendor part
of the triplet) rather than the one returned by autoconf (config.guess).
2021-03-06 12:50:53 +00:00
..
Documentation Patch to honor @setfilename 2020-10-31 11:00:35 +00:00
Shared Preliminary support for installing and resolving pkg-config files 2016-07-08 13:09:17 +00:00
application.make It turns out that, in gnustep-make the mingw64 support was incomplete, 2021-03-06 12:50:53 +00:00
bundle.make * Instance/rules.make: Add detection for different forms of the 2013-12-27 16:23:08 +00:00
clibrary.make Added mode comment for emacs 2010-02-12 08:43:42 +00:00
ctool.make Implemented new 'make internalmessages=yes' option which prints all recursive make invocations. Never print them (uninteresting/annoying for users) unless internalmessages=yes is used 2010-02-14 23:13:47 +00:00
documentation.make fixup for versions of texi2html which put output in different places 2014-01-06 22:57:43 +00:00
framework.make Fix quotation errors in automatically generated testsuite flags 2018-07-05 12:03:00 +02:00
gswapp.make * Instance/rules.make: Add detection for different forms of the 2013-12-27 16:23:08 +00:00
gswbundle.make Fixes and improvements to 'make strings'; small cleanup of some other instance makefiles 2010-08-21 09:20:40 +00:00
java-tool.make Update license to GPL 3 2007-10-30 14:18:41 +00:00
java.make Add support for building jars from Java projects (`make jar'). 2014-12-21 07:16:04 +00:00
library.make Support building on Windows with Clang MSVC target 2021-02-03 12:29:02 +01:00
objc.make Implemented new 'make internalmessages=yes' option which prints all recursive make invocations. Never print them (uninteresting/annoying for users) unless internalmessages=yes is used 2010-02-14 23:13:47 +00:00
palette.make * Instance/rules.make: Add detection for different forms of the 2013-12-27 16:23:08 +00:00
README New file - written in a rush but that's it 2002-01-30 21:01:43 +00:00
resource-set.make minor documentation tweaks 2017-04-09 09:26:57 +00:00
rules.make Link subproject object files directly. 2021-02-03 12:29:02 +01:00
service.make * Instance/rules.make: Add detection for different forms of the 2013-12-27 16:23:08 +00:00
subproject.make Link subproject object files directly. 2021-02-03 12:29:02 +01:00
test-application.make Fixed bug where test-application.make did not link against GUI by default 2008-07-21 17:06:36 +00:00
test-library.make Added mode comment for emacs 2010-02-12 08:43:42 +00:00
test-tool.make Fixed bug where test-application.make did not link against GUI by default 2008-07-21 17:06:36 +00:00
tool.make Implemented new 'make internalmessages=yes' option which prints all recursive make invocations. Never print them (uninteresting/annoying for users) unless internalmessages=yes is used 2010-02-14 23:13:47 +00:00

Makefiles in this directory are only used during the 'Instance' make
invocation.  The 'Master' invocation (see explanation in
Master/README) decides which tasks are to be done; for each of them,
it calls a recursive make invocation (called an 'Instance' make
invocation), setting GNUSTEP_INSTANCE to the instance name (for
example, 'defaults'), and GNUSTEP_TYPE to the type of instance type
(for example, 'tool').  The make target to build is as in
internal-tool-all.

This means that all makefiles in this directory are executed with a
well defined GNUSTEP_INSTANCE, GNUSTEP_TYPE, and target.

It is safe/required in all these makefiles/makefile fragments to
access the variables needed to build the target for this instance by
using $($(GNUSTEP_INSTANCE)_VARIABLE).  For example, the list of
OBJC_FILES needed to compile the `defaults' instance will have been
defined by the user in the defaults_OBJC_FILES variable.  In this
directory, we access this list using
$($(GNUSTEP_INSTANCE)_OBJC_FILES).

Please note that this makefiles/makefile fragments can't be included
in the Master invocation, they are actually useless in the Master
invocation, because $(GNUSTEP_INSTANCE) is undefined in that case.