Christophe de Dinechin
fd9c4a2afb
Fix order-only so that it does not introduce hard dependencies
...
With pre-3.80 make, the rules would introduce hard dependencies
instead of order-only dependencies, leading to a complete rebuild
of everything with every 'make'
2018-05-09 11:36:06 +02:00
Christophe de Dinechin
77b5010339
Pass MIQ variable to children make
2018-05-09 11:35:38 +02:00
Christophe de Dinechin
bb93d3fb7a
Fix the passing of the -rpath option to the linker
2018-04-13 16:20:54 +02:00
Christophe de Dinechin
5bcfdb969d
Verify the installation step in the gitlab CI
2018-04-13 15:24:51 +02:00
Christophe de Dinechin
c691f04167
Add check for the 'sigaction' function
...
This check is easier to get in autoconf than a test for struct sigaction.
It's also more complete, since the recorder actually needs the function.
2018-04-13 15:19:18 +02:00
Christophe de Dinechin
5cda3e208b
Lookup the configuration files in the right spot if MIQ not installed
2018-04-13 15:17:08 +02:00
Christophe de Dinechin
65c65d32dd
Add HEADERS variable
2018-04-12 13:17:21 +02:00
Christophe de Dinechin
91c679f114
Add documentation on how to use Make-It-Quick as submodule
2018-04-12 12:39:36 +02:00
Christophe de Dinechin
fc6eb82353
Remove extraneous trailing / in include path
2018-04-12 12:39:36 +02:00
Christophe de Dinechin
d6cd86f615
Add more config checks (lifted from SPICE/gtk)
2018-04-12 12:39:36 +02:00
Christophe de Dinechin
0ae490d5fd
Add results from pkg-config to config.h
2018-04-12 12:39:36 +02:00
Christophe de Dinechin
6dd6537407
Add a check for alloca() (moved from SPICE/common)
2018-04-10 19:11:34 +02:00
Christophe de Dinechin
87ba839cdd
Simplify rules for the dependencies
2018-04-10 18:56:25 +02:00
Christophe de Dinechin
0ab021d64b
A better way to run tests
2018-04-10 18:42:35 +02:00
Christophe de Dinechin
e7c15a35ae
Add better libtool support in config.gnu.mk
...
When LIBTOOL is set, then we use libtool all the way.
Otherwise, we manually perform the compile/link stages.
2018-04-10 18:40:00 +02:00
Christophe de Dinechin
b678656455
Add support for generating pkg-config files
2018-04-10 18:37:37 +02:00
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
6fb78fe4ed
Remove empty line
2018-04-04 12:15:54 +02:00
Christophe de Dinechin
d2b03b4031
Use a wildcard for the list of configuration files to install
2018-04-04 10:32:09 +02:00
Christophe de Dinechin
e0de7fd034
Install configuration sources
...
The configuration sources are installed in /usr[/local]/lib/make-it-quick
The config.local-setup.mk contains installation-dependent setup.
2018-04-04 10:32:09 +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
2b7ddbe26f
Add 'reformat' alias for 'clang-format' since I naturally typed it twice already
2018-04-04 10:31:11 +02:00
Christophe de Dinechin
9f78375264
Add clang-format rule to reformat source files
2018-04-04 10:31:11 +02:00
Christophe de Dinechin
5eca8a01aa
Add more checks for recent versions of MinGW
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
5d385379e2
Avoid a warning with -fPIC on MinGW
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
f4715b4916
Cygwin is strange, and actually requires .a extension for libraries
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
faac4b1e05
DLL extension for Cygwin must be .dll for things to work OK
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
16943ff6a2
Make cygwin inherit directly from GNU instead of 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
a2e9094513
Add preliminary MSYS support
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
15738f7504
Add YouTube video
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
b236f6cffe
Add link to SPICE build
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
218dc2c82e
Update README with tips on how to build
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
8e826a885a
Fix location for the build output
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
0317d1ea97
Fix the colorize target
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
37f7dc4f9d
Make sure that LDFLAGS are set when running configuration steps
...
This is necessary for example when specific flags are required to
find a library in a configuration rule, e.g. LDFLAGS=/some/path
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
856fca299e
Correctly generate pkg-config.mk when CONFIG=libX but no PKGCONFIGS
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
9d72c7ebfc
Add SYSCONFIG path, defaults to /etc
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
32982f98c6
When cleaning, also clean libraries
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
e19bbc0a79
Reference library directories correctly
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
c1cc66ade3
Add -Wl,-rpath option to standard GNU ld
...
(This differs from macOS where -rpath is a gcc driver option)
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
172dbe84d6
Make the build for libraries more robust in case of mis-spelling
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
502d12b9b6
Cleanup variants
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
472c390157
Put the /dev/null in $(CAT)
...
Also do not build library checks with $(CFG_CFLAGS), because they are
neither needed nor available at that point.
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
4d5957d73d
Fix test environment TEST_ENV for `make test`
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
547bc93ad3
Fix passing of libraries during test
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
00942dc77a
Restrict variable names when transforming cfg.h into cfg.mk
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
3d95749be5
Remove useless variables
2018-04-04 10:21:04 +02:00