Recent changes in make-it-quick removed the need to pass the MIQ
variable from the command line. It used to be passed using $(abspath...)
so the $(abspath ...) needs to be added into the macOS-specific config.
The regression was introduced in 96cad841f8
on Cygwin and macOS. The MIQ_DLLNAME variable used $(@F) instead of $@.
The Jenkins setup failed to see the problem because it rebuilt
on top of existing directories that were pruned with existing libraries.
Added a second build after `git clean -dfx` in Jenkins to catch that.
The x11.pc file is missing on macOS (at least on Brew), and it was
getting annoying to add ad-hoc rules in every makefile that required
it. The hack here is to add one directly from make-it-quick.
Putting the make-it-quick directory last should ensure this solution
still works correclty if you have an actual x11.pc on your macOS system.
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)