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