Commit Graph

298 Commits

Author SHA1 Message Date
f13c206249 Update the copyright notice 2016-02-14 21:43:07 +01:00
57275fd77c Clean objects in OBJDIR if set 2016-02-14 21:42:11 +01:00
8567ccc29a Output more portable Makefiles
The extensions for executable files and shared objects can be
chosen without re-generating the Makefiles. There are still major
differences between MacOS X, Windows and UNIX platforms but these
changes reduce them a lot, especially when building binaries.

This should also help writing cross-platform "project.conf" files.
2015-09-09 12:38:37 -04:00
18b464992f Always output EXEEXT and SOEXT 2015-09-09 12:02:39 -04:00
630e584e65 Also detect the extension for executables 2015-09-09 12:02:11 -04:00
6a8cc5a5a8 Also implement "asflags_force" 2015-08-29 17:05:59 +02:00
a740869dac Add a helper for comma-separated variable expansion 2015-08-27 00:18:19 +02:00
b61c0fdb09 Always expand dependencies as expected 2015-08-27 00:06:31 +02:00
af737550f6 Comment out unused code 2015-08-27 00:05:57 +02:00
a25ace6344 Fix crash on Linux 2015-08-23 16:08:18 +02:00
55ebd56b08 Fix "make distcheck" with regard to OBJDIR 2015-05-25 18:37:34 +02:00
0bc141c002 Code cleanup 2015-05-25 18:24:37 +02:00
ffcfef3282 Avoid sub-shells where not necessary
This is for the "distcheck" target.
2015-05-25 18:05:49 +02:00
bbff942d35 Do not link to libraries before being built 2015-05-21 01:52:44 +02:00
08a54f65c4 Build libraries reliably with multiple jobs 2015-05-21 01:42:28 +02:00
969eef859c Detect more errors 2015-05-21 01:22:23 +02:00
9397a25143 Code cleanup 2015-05-21 01:18:16 +02:00
f8740ea1ec Avoid a crash on Linux systems
Use vsnprintf() (with n=0) instead of vsprintf() in dry-run mode.
2015-05-09 13:56:00 +02:00
10dd6865a1 Lift the safeguard against printing 2015-05-08 01:29:44 +02:00
1819d3ab5d Use the new print helper 2015-05-08 01:28:55 +02:00
2d47888360 Remove unused variable 2015-05-08 00:54:51 +02:00
a2bc07cf7f Introduce a helper for dry-run mode 2015-05-08 00:54:51 +02:00
fbf85f198d Preliminary support for Objective-C{,++} 2015-05-07 23:38:11 +02:00
543a0e2d50 Assume Linux always has libintl
It should really detect GNU (glibc) and not base the test on the Linux
kernel alone though.
2015-04-02 19:38:43 +02:00
3c462bd392 Updated the copyright line 2015-02-06 01:38:37 +01:00
1df558bbac Largely improved support for OBJDIR by placing objects in a mirrored hierarchy 2015-02-06 01:36:17 +01:00
17d5fb9d81 Reflected support for phony script targets when installing as well 2014-12-13 02:47:19 +01:00
5308765aa2 Added support for phony script targets 2014-12-13 02:40:32 +01:00
bb54a897b2 Code cleanup 2014-12-01 00:31:52 +01:00
6a625dc18e Let invididual scripted targets have a separate prefix 2014-12-01 00:29:24 +01:00
fb3ed4e1b0 Added a helper to output target definitions 2014-11-16 14:56:57 +01:00
029a46b049 No longer require even "make dist" to write to the current directory 2014-11-16 14:45:05 +01:00
c2f10ca5a3 Create archives from "make dist" in OBJDIR
This still requires creating a symbolic link in the sources directory
though.
2014-11-15 14:49:20 +01:00
94d445eafd Code cleanup 2014-11-12 02:01:15 +01:00
b7c76b3696 No longer output variables for static libraries when not supported 2014-11-12 01:47:00 +01:00
a415d0adf1 Isolated the generation of static libraries as a platform capability 2014-11-12 01:43:50 +01:00
7a95945a01 Pass the Windows library test 2014-11-12 01:34:35 +01:00
0a26b49220 Fixed target definitions for libraries with OBJDIR 2014-11-12 00:56:26 +01:00
f5ba74891b Code cleanup 2014-11-12 00:43:57 +01:00
b603113261 Pass the Windows binary test 2014-11-12 00:42:19 +01:00
c87a3ffa84 Pass all the tests again 2014-11-11 21:12:28 +01:00
60f2216da2 Fixed "make uninstall" on MacOS X 2014-11-11 20:57:26 +01:00
e17b53c4e5 Fixed "make install" on MacOS X 2014-11-11 20:57:26 +01:00
61c0351965 Abstract a good part of the output in helpers 2014-11-11 20:56:40 +01:00
b0441df064 Implemented library versioning on MacOS X (needs more work) 2014-11-11 20:54:26 +01:00
0a9c9c687d Code cleanup 2014-11-11 20:47:51 +01:00
373af903a8 Use -install_name on MacOS X when the installation path is known
Kudos to yrmt@ for the hint
2014-11-11 20:47:51 +01:00
bdb9f4b4ce Fix for $(MKDIR) in "make distcheck" without any other target to install 2014-10-31 18:49:15 +01:00
ab6c01a9bf Default "make distcheck" to using OBJDIR and testing (un)installation to DESTDIR 2014-10-31 18:10:32 +01:00
e97db07dd7 Also output the OBJDIR variable when relevant 2014-10-31 02:35:26 +01:00
c3a612ed97 Fixed target libraries with OBJDIR 2014-10-31 02:31:40 +01:00
b56fc20a01 Second part of OBJDIR support 2014-10-31 02:15:07 +01:00
94829facbf First part of OBJDIR support 2014-10-31 02:08:18 +01:00
76f58f4182 Run "make distclean" before "make dist" in the new "distcheck" rule 2014-10-31 01:31:23 +01:00
955ad20e65 Added a "distcheck" rule 2014-10-31 01:25:12 +01:00
a8f9adc800 No longer hardcode TAR as "tar -czvf" but simply as "tar" 2014-10-31 01:18:24 +01:00
f019e6315d No longer automatically add $(PREFIX) when (un)installing script targets 2014-10-17 20:50:07 +02:00
806f1361b3 Fixed calling scripts in the "clean" target 2014-10-09 19:40:51 +02:00
f0577c9428 Re-licensed as 2-clause BSD (with consent from myself) 2014-10-03 14:20:38 +02:00
ed1cc6d820 Using PROGNAME instead of PACKAGE for configure(1) 2014-10-03 13:27:51 +02:00
df286571f4 Better handling of distributable files found in sub-folders (when installing) 2014-07-17 02:28:41 +02:00
7ad4e85d64 Let configure build again (and removed hack for configArray) 2014-05-09 21:02:08 +02:00
17ece7ff43 Fixed "make dist" when either the path or the filename contains spaces 2013-11-19 22:25:35 +01:00
afdfa13eff Hopefully better handling of C++ targets 2013-06-04 03:24:49 +02:00
bf65f88f4b Let the defaut programs depend on the underlying platform 2013-04-06 01:28:27 +02:00
74cc13e057 Code cleanup 2013-04-06 01:24:43 +02:00
918878a13e Removed what is probably a wrong or obsolete comment 2013-04-06 00:57:42 +02:00
8493c318a5 Solaris' native "install" tool doesn't like "--" as argument delimiter 2013-04-06 00:40:20 +02:00
999d9d5f78 Quote the names of directories when they contain the space character 2013-03-05 03:08:26 +01:00
f0efbdaa2f Quoting the directory names when switching directories 2013-03-05 03:01:34 +01:00
8a87d4bfe4 Force directories to be world-readable 2013-01-25 20:53:48 +01:00
1530a4b844 Let scripts help perform the "clean" target 2013-01-07 02:59:49 +01:00
abf4f1f6bb No longer allow the environment to override variables directly 2013-01-07 00:18:37 +01:00
beb81f4b59 Added support for $(SBINDIR) 2012-11-02 21:32:47 +01:00
bb43891070 Completed the fix for object targets with filenames not matching the source 2012-09-22 18:50:22 +00:00
aaa2776483 Fixed object targets with filenames not matching the source 2012-09-22 18:44:08 +00:00
25c84fbf7b Fixed potential buffer overflow 2012-09-14 21:31:25 +00:00
29725f24fc Adding the file extension for executables on Windows 2012-09-12 21:23:27 +00:00
af07b21194 Avoiding a compilation issue on some systems 2012-09-11 11:02:57 +00:00
c2d35a1b36 Hopefully more portable for Windows and MacOS X platforms (shared libraries) 2012-07-30 00:57:58 +00:00
74e8dd7c5c Hopefully improved support for building DLLs on Windows 2012-07-30 00:24:07 +00:00
1a01ab7399 Do not use -Wl,-soname on MacOS X 2012-07-06 21:40:20 +00:00
d06912b632 Revert last changes 2012-04-08 16:06:03 +00:00
a4bde692be Code cleanup 2012-04-08 14:02:54 +00:00
1aec1a6726 Generate shared libraries directly with the soname requested 2011-10-29 01:50:52 +00:00
9b77c9dbcf Fixed tracking of executable variables (and removed ugly hack) 2011-10-18 18:44:41 +00:00
c61365c06b No longer force $(CC) 2011-09-16 11:52:42 +00:00
3b23bf9f83 Also using the "?=" operator (will need more work though) 2011-09-16 11:21:29 +00:00
713b2c67e7 Using the new function to output variables 2011-09-16 11:06:55 +00:00
2b16735b7a Using CCSHARED instead of LD to create shared libraries 2011-09-16 10:59:46 +00:00
db7638c97c More portable definition of AR 2011-09-16 10:57:54 +00:00
e7255169b4 Using a separate function to output variables 2011-09-16 10:17:34 +00:00
b580667107 Fixed an issue when linking with -lossaudio outside NetBSD 2011-08-29 23:15:15 +00:00
12c19e4214 Early support for Windows (32-bits, via MinGW) 2011-06-02 19:35:21 +00:00
736f7ab1a5 Partially solved variable duplication in some cases 2011-05-26 00:30:41 +00:00
bb52b1f035 Added the set of libraries implictly available on MacOS X 2011-05-16 11:26:57 +00:00
f62e808301 The "asm" extension is now recognized for assembly files 2011-05-08 17:02:13 +00:00
9c991976e9 Stricter error reporting 2011-04-28 03:51:53 +00:00
8af5a294df Stricter error checking 2011-04-28 03:27:47 +00:00
6cebab0092 Allowing binaries to be compiled without own sources 2011-04-28 02:53:17 +00:00
b669595a39 Further improve the "install" target in Makefiles 2011-01-27 02:06:01 +00:00
5a0a5c09fc *** empty log message *** 2011-01-26 23:00:06 +00:00
e695e7e37b Modified the way scripts are handled (forcing use of getopt) 2010-12-31 15:10:25 +00:00
87bc953075 Really allow LDFLAGS to be set for libraries as well 2010-12-04 21:05:57 +00:00
aaf210b8ff Also handling -lossaudio 2010-11-12 14:30:41 +00:00
dcae4da394 DeforaOS does not provide libssl.so (yet?) 2010-10-29 01:34:11 +00:00
f906c47819 The addition of asflags for specific objects was duplicated 2010-07-23 22:53:15 +00:00
3f42326051 Was missing variables for assembly programs in some cases 2010-07-22 19:52:29 +00:00
cad3c01223 Also output relevant variables when compiling objects 2010-07-20 21:02:07 +00:00
f5bad632c1 Escaping arguments with "--" when calling $(RM), $(TAR), $(INSTALL) 2010-07-04 14:08:29 +00:00
4410bd2202 Do not let ASFLAGS be "(null)" when not defined 2010-07-04 11:38:53 +00:00
df0eb5268a Also prepend $(DESTDIR) to $(PREFIX) when installing through scripts 2010-05-06 15:02:38 +00:00
df2787d976 Fixed default prefix while installing scripts 2010-04-22 11:29:50 +00:00
050ac6af9c Fixed the case of an error message 2010-04-15 14:51:00 +00:00
c443ae1fa5 Added the "-S" flag, performing security checks while generating Makefiles 2010-04-15 14:47:19 +00:00
1400331df3 Fixed dependencies for scripts (duplicates code again) 2010-03-29 22:46:24 +00:00
33cf741d57 Implemented "cppflags" for specific source files 2010-01-12 16:18:38 +00:00
c4b1894412 Allow redistributable files to be installed with specific permissions 2009-12-29 18:05:07 +00:00
003fba1b4e -lresolv only exists on Solaris 2009-12-12 20:11:59 +00:00
06816f09c2 Introduced the script target 2009-11-27 21:37:38 +00:00
cb787f68de Reverted the unintentional additional carriage returns added recently 2009-11-15 19:01:04 +00:00
7a2ee196e1 Added the OS definition for DeforaOS (must be forced with -O at the moment) 2009-11-08 12:55:12 +00:00
0b0bec980e Also analyze arguments to "gcc -l" for program-specific flags 2009-11-01 16:37:17 +00:00
2bac283267 Detect "-libname" just like "-l ibname" for platform-specific modifications 2009-11-01 16:20:01 +00:00
1ce77b39b1 Some code cleanup 2009-11-01 16:12:08 +00:00
0aff5e256d Fixed copyright and license terms 2009-11-01 16:09:55 +00:00
75eba3b3a3 Fixed a warning during compilation 2009-08-13 16:30:07 +00:00
de44434d82 Added a plugin target 2009-08-12 07:47:54 +00:00
a7381714ea Fixed an invalid call to free() 2009-08-05 23:13:19 +00:00
53e71907c7 Now supports the installation of arbitrary files 2009-08-05 22:40:16 +00:00
97f5e1d04c Trying to output LN only once 2009-06-16 23:28:10 +00:00
7b5ed85f99 Completing initial support for soname 2009-06-16 23:12:35 +00:00
2c64824a2c Making sure LN is always generated the same way and used properly 2009-06-16 23:05:24 +00:00
08119c3d0a Code cleanup 2009-06-16 22:30:38 +00:00
4ca9cd5d72 Giving libraries an soname 2009-06-16 22:17:38 +00:00
f07ed7950c Updated copyright information 2009-03-06 12:26:18 +00:00
f59d59c0e8 Should output CPPFLAGS even without "cflags" set in project.conf 2009-03-06 12:25:45 +00:00
d8088d76c8 Allow definition of AR, RANLIB and LD executables from project.conf 2009-03-06 12:24:56 +00:00
3ec3739471 Also use CPPFLAGS when compiling C++ code 2009-03-06 12:23:48 +00:00
c2200868ab Also defining LDFLAGS when there are only libraries 2009-02-19 01:29:18 +00:00
d46c1d5e52 LDFLAGS are now set as target_LDFLAGS and usable from the command line 2009-01-11 21:40:14 +00:00
53bbfe7a8d Using "$(LIBTOOL)" instead of "libtool" 2008-09-11 12:53:39 +00:00
efaff3c1ec Now handling Makefiles with libtool (and deserves a rewrite, too) 2008-09-10 08:55:41 +00:00
f746fd8f9d Uninstalling installed objects 2008-07-18 23:52:19 +00:00
2fa386d0a8 Allowing installation of objects 2008-07-18 22:02:03 +00:00
ccba63db01 Added directive cppflags_force like cflags_force 2008-07-18 19:01:03 +00:00
327b741e5e Now support "install" for includes as well 2008-06-20 13:50:21 +00:00
5d3580bdee Now using the compiler as default linker (fixes builds on Debian etch) 2008-06-04 20:11:15 +00:00
c7f0a388bd The libdir value from project.conf has priority over the command line 2008-06-04 20:07:26 +00:00
9884d33eed Dependencies to be specified on binaries (to allow parallel builds) 2008-05-24 01:10:26 +00:00