Commit Graph

150 Commits

Author SHA1 Message Date
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