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
Christophe de Dinechin
3821686b85
Show variant information in [BEGIN] and [END] steps
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
96d1e61a61
Better install process
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
13ceb48407
Cleanup cleanup rules
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
7530c15a96
Document PKGCONFIGS
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
7a79b726c1
Recent changes to GNU simplify the macosx rules
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
49adc492f5
Do not add LDFLAGS when building static libraries
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
c15ff77bf4
Allow paralllel builds for configuration steps (defer after variants resolved)
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
9da269b646
Disable configuration steps before actually building
...
This ensures that configuration steps are properly logged in make.log
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
4eab5b04b5
Remove extra / in top level .mkdir
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
34075d3782
Remove extra / in $(PREFIX)share
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
4cba1dc07f
Avoid extra / after $(OUTPUT)
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
dc429be3b2
Avoid adding / in $(OBJDIR)
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
b6e7ccf05d
Change location for build outputs to something more practical for daily use
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
8d0b734e70
Add TOP variable to indicate top-level directory
...
This makes the output file organization cleaner in case where the
'build' directory is not itself at the top-level.
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
671883dbf1
pkg-config results must be in OBJDIR, not OBJROOT
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
cb6b38ad72
Extract link libraries from CONFIG libX entries
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
332be643c7
Put variants as part of configuration phase rather than libraries
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
a4398bbd79
Clarify order of targets in parallel builds
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
3d675e35fb
Add support for optional pkg-config entries
2018-04-04 10:21:04 +02:00