The introduction of INSTALL_DATA broke `make install` by adding
an extraneous -m option:
[BEGIN] opt mingw in [top]
[INSTALL] check_clearenv.c in /d/jenkins/mingw32/workspace/Make-It-Quick/J_TARGET/install/OS/mingw32/install-path/lib/make-it-quick/config
cp: unknown option -- m
MinGW now seems to be able to cope with the -rpath option in ld.
However, it's necessary to place LDFLAGS after objects, as observed
with BUILDENV-specific LDFLAGS, i.e. LDFLAGS_BUILDENV_mingw=-lregex
A number of changes in this commit:
1. Variable namespace cleanup:
Rename non-configurable variables as MIQ_XYZ.
2. Internal target namespace cleanup
Rename intermediate targets to begin with a dot (.)
For example .build, .prebuild, etc.
This impacts makefiles that hook for example to prebuild
(now they need to hook to the .prebuild target)
3. Target, variant and build-environment variables names
For example, dependencies on $(TARGET) moved from DEFINES_xyz
to DEFINES_TARGET_xyz instead of DEFINES_xyz, and same thing
for includes, sources, etc.
4. Protection of special user-level top-level targets
A target like log-% no longer interferes with a file name such
as log-file.c
5. Better support for multiple products
When building foo.exe and bar.lib, there can be different
sources for each project, i.e. $(SOURCES_foo) and $(SOURCES_bar).
This simplifies the management of projects using make-it-quick by
putting the makefile include files in a shared location
(typically /usr/local/include/make-it-quick)
Some (all?) variants of MinGW do not have a working 'fmt'.
This is not indispensable to the rule working, it makes it just look good.
The sed -e 's/\\\\...' rule appears necessary when executing the
command within 'make'. This is definitely a bug. If I execute the
command within the Windows CMD, I need the extra \\. If I execute the
command within bash or sh, I do not.