Commit Graph

298 Commits

Author SHA1 Message Date
908c9a715a Add support for (un)installing commands 2018-06-27 03:32:26 +02:00
cb46d84fba Add initial support for Java
This is currently limited to:
- one source file at a time (type=object)
- in-place compilation (no OBJDIR support)
- class files (as opposed to jars)
2018-06-18 23:36:31 -04:00
123d6709a7 Code cleanup 2018-06-18 23:32:07 -04:00
cba11c3d51 Add support for "cppflags" for C/C++ source files 2018-03-21 01:55:59 +01:00
d59dbdf1b4 Support "asflags" and "cppflags" for assembly sources 2018-03-20 03:00:06 +01:00
eedac9938f Improve support for pre-processed assembly files 2018-03-19 18:13:08 +01:00
9664cf16b5 Code cleanup 2018-03-19 18:12:46 +01:00
51513a3b56 Pre-process assembly files only when relevant
This removes the use of CPPFLAGS otherwise.
2018-03-18 23:31:24 +01:00
8edc44150d Add support for "cppflags" for C++ programs 2018-03-18 20:44:31 +01:00
525d4ea831 Introduce a new type for pre-processed assembly files 2018-03-18 20:36:50 +01:00
88ceb54518 Also provide a security warning for command targets 2018-03-09 03:00:30 +01:00
96614bd870 Add support for phony Makefile commands
This should arguably be the default for this type.
2018-03-09 02:16:53 +01:00
1592fc20ac Do not remove objects for commands 2018-03-09 02:13:30 +01:00
ce6ab849ea Introduce a new target type for simple commands 2018-03-09 02:03:13 +01:00
92652fb6e8 Be stricter when substituting libraries
This is being replaced by platform.sh.
2018-03-09 00:11:40 +01:00
f4617b7615 Do not output $(OBJDIR) when cleaning phony targets 2018-03-08 01:14:15 +01:00
279ca268f8 Add a configuration variable to disable targets by default 2018-02-19 00:16:59 +01:00
c3099549f8 Update the copyright notice 2018-02-19 00:10:25 +01:00
6716ef1bf8 Avoid a compilation warning 2018-02-19 00:09:56 +01:00
62b1883c22 Always build the whole project before installing 2017-12-28 01:37:32 +01:00
aaeccbeee4 Code cleanup 2017-11-18 05:00:37 +01:00
ce35c9c919 Move common code to a separate file 2017-11-18 04:23:19 +01:00
a162600940 Also obtain paths from configuration files 2017-11-18 04:08:18 +01:00
0ad67d1706 Code cleanup 2017-11-18 01:51:12 +01:00
3ce2dbb314 Code cleanup 2017-11-18 01:37:45 +01:00
baf80ca116 Add a helper to output extensions
This also adds a variable for the "tgz" extension. It defaults to
".tar.gz" or to ".tgz" on Windows.
2017-11-18 00:52:05 +01:00
5e782aa189 Let extensions be determined through configuration 2017-11-18 00:28:43 +01:00
36c1e62388 Improve error handling 2017-11-09 04:54:58 +01:00
666bcc29c0 Refactor looking up programs
This paves the way for configuration files.
2017-11-09 04:34:15 +01:00
8a14bdbdc7 Let the Configure instance be private (2/3) 2017-11-09 03:56:10 +01:00
65845e94d9 Let the Configure instance be private (1/3) 2017-11-09 03:51:30 +01:00
11980fa1b5 Code cleanup 2017-11-09 03:24:45 +01:00
a9d77a5ca6 Code cleanup 2017-11-09 03:05:41 +01:00
e9f5939e97 Code cleanup 2017-11-09 03:02:01 +01:00
2048ae8337 Code cleanup 2017-11-09 02:46:32 +01:00
a27a1640d4 Check for more errors 2017-11-09 02:27:42 +01:00
fc5ce3b511 Allow the verilog program to be specified
It should really work by default though.
2017-11-09 02:18:07 +01:00
66adfacfb9 Let the flags to ar(1) be overidden 2017-11-01 17:59:22 +01:00
cf3dfe9206 No longer hard-code permission checks 2017-10-15 18:51:22 +02:00
4f4432b038 Initial support for Verilog
This is still very hackish and limited unfortunately.
2017-04-30 02:53:05 +02:00
1767f4fc29 Add missing CXXFLAGSF 2017-04-30 00:51:06 +02:00
ca20d5fa11 Update the copyright notice 2017-04-30 00:50:09 +02:00
805a3a4dd0 Code cleanup (re-wrap) 2017-04-30 00:50:00 +02:00
1c3e7d8062 Truncate scripts at the first space to get the path 2016-09-15 03:02:21 +02:00
54aa67d2bd Pave the way to keep track of directories created 2016-09-12 04:39:08 +02:00
ede0e5ce40 More consistent warning messages 2016-09-12 00:46:42 +02:00
10c3f377d2 Improve some error messages 2016-09-12 00:46:42 +02:00
8c7d171455 Add a test and warning for scripts to exist 2016-09-11 23:57:01 +02:00
f4992db978 Fix installing includes in sub-folders 2016-08-13 20:32:02 +02:00
99f2c823f1 Slightly simplify the "dist" rule 2016-07-26 14:30:35 +02:00
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