Commit Graph

13 Commits

Author SHA1 Message Date
Christophe de Dinechin 2bcd0c9bcf Makefile rules refactoring - MIQ namespace + solidity
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).
2018-04-10 18:37:27 +02:00
Christophe de Dinechin 198ad6420d Change project name to 'Make-it-Quick', and make it installable
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)
2018-04-04 10:32:09 +02:00
Christophe de Dinechin 4d77ac826f Copyright update for 2018 2018-04-04 10:31:11 +02:00
Christophe de Dinechin 5d385379e2 Avoid a warning with -fPIC on MinGW 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 0a4e651300 Do not use rpath on mingw 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 6f173149a9 Recent versions of MinGW have grep --line-buffered, restoring 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 5105c6c97f Install project DLL and libraries by default 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 154ca40451 Fixups for ancient versions of mingw
Tested with mingw32-4.8.2 and make 3.79.1 running on Windows XP
2018-04-04 10:21:03 +02:00
Christophe de Dinechin 28c8dda7c6 Single-pass dependency generation 2018-04-04 10:19:40 +02:00
Christophe de Dinechin f147fd7689 Remove --line-buffered for MinGW 2018-04-04 10:19:39 +02:00
Christophe de Dinechin 85b33cbdc5 Replace 'install' with 'cp' on MinGW 2018-04-04 10:19:39 +02:00
Christophe de Dinechin dcfb55cedc Add special rules for MinGW
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.
2018-04-04 10:19:39 +02:00
Christophe de Dinechin 1c3c0e606c Initial state 2018-04-04 10:19:24 +02:00