Commit graph

26 commits

Author SHA1 Message Date
David Given c6292642c6 Fix a nasty dependency bug where filenamesof() on installables wouldn't
return any of the installable files (which meant installables were
never considered as dependencies).
2016-07-29 00:22:22 +02:00
David Given f9c77fca03 Replace the hacky cflags variable with an equally hacky but vastly
more useful magic vars variable.
2016-07-27 00:10:15 +02:00
David Given cdeea836f2 Replaced the fairly complex environment code with a much simpler
emitter object.
2016-07-26 23:43:31 +02:00
David Given bff5c4019c Baby steps towards building a platform --- make the assembler work.
Add ackbuilder support for C preprocessor files and yacc.
2016-07-24 00:50:02 +02:00
David Given b7720c298b Error out if a template expansion returns nil (as it's normally an error). 2016-07-19 23:42:42 +02:00
David Given 2d2497c318 ackbuilder rules files now require absolute paths in external variables
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given 523374c36b Built a make bootstrap that runs either make or ninja depending on which is
installed.
2016-07-16 14:58:29 +02:00
David Given cdbd605803 concat, targetnamesof. deps is now handled more consistently (treated the same
as ins but not passed in as inputs).
2016-07-14 23:53:34 +02:00
David Given 60edd08390 Make work with make. 2016-06-30 13:19:10 +02:00
David Given 90764320bb Better cwd handling. 2016-06-29 13:58:38 +02:00
David Given 7f7005bac5 Local rules; include() and replace(). 2016-06-29 13:28:22 +02:00
David Given 1978867fd2 Add ninja support. It works so much better than make. 2016-06-19 08:55:02 +02:00
David Given 2af8568cc3 First draft at installables; not very satisfactory. make bugs with multiple
output targets and parallelism?
2016-06-16 05:26:44 +02:00
David Given 09554cb324 installable works, although it's a bit kludgy. Change the : separator to +
because : is special in make and non of the others I could think of would work.
2016-06-14 07:34:14 +02:00
David Given 605651776e We can build a real program now! 2016-06-12 20:59:43 +02:00
David Given 015804afce cprogram works. 2016-06-09 07:14:41 +02:00
David Given f47bb49c1f Multiple build files work. Use deps intelligently. clibraries. 2016-06-09 06:55:44 +02:00
David Given fcc5a878ae Rather cleaner cfile implementation where you just give it a .c and a pile of .h files. 2016-06-08 03:21:53 +02:00
David Given 8082ef16a7 cfile with dynamically generated headers sort of works. 2016-06-07 05:00:26 +02:00
David Given f4449e3f97 Multioutput rules work! 2016-06-07 04:20:08 +02:00
David Given 79f7c0ad23 Leaf rules work! 2016-06-07 04:13:56 +02:00
David Given b7d2b9c3cf Dependent rules work! 2016-06-07 00:10:22 +02:00
David Given 14ccf7151e Most of simplerule now looks like it's working. 2016-06-06 22:13:30 +02:00
David Given cb0111b290 Skeleton of the rule engine and type system. 2016-06-06 20:50:48 +02:00
David Given df1372ab35 Really basic skeleton of Ackbuilder mark 2. 2016-06-06 17:18:19 +02:00
David Given d0bfee142b Archival non-working checkin of the experimental build tool. 2016-06-05 10:39:29 +02:00