| 
								
								
									 David Given | 5f0164db62 | Bolt mcg into the PowerPC backend. It doesn't build yet, but it is generating *some* code. | 2016-10-17 00:06:06 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 56e13e24e0 | Cleanup some stray files. | 2016-09-03 19:22:38 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 1b8df04e58 | Add modeline, fix formatting. | 2016-09-03 19:17:09 +02:00 |  | 
				
					
						| 
								
								
									 David Given | de2f99dc1a | More documentation. | 2016-09-03 19:01:47 +02:00 |  | 
				
					
						| 
								
								
									 David Given | ea4142daee | First half of the ackbuilder documentation. | 2016-09-03 01:04:16 +02:00 |  | 
				
					
						| 
								
								
									 David Given | ff9bf5b08a | Makefiles are now slightly less inaccurate. Does actually seem to do sensible incremental builds now. I loathe make. | 2016-09-03 00:20:11 +02:00 |  | 
				
					
						| 
								
								
									 David Given | f67c98e239 | Distributions are a pain --- let's not bother any more. Instead, we just tag the repository and download a complete snapshot, old and ancient stuff and all. | 2016-09-02 23:00:38 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 612e38f1c6 | Remove the old make-based build system, plus some big chunks of horribly obsolete protomake build system. | 2016-09-02 22:17:51 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 08823a172c | filenamesof() an installable now returns all installed files, not just the ones at the top level (necessary to make a lot of the dependency stuff work when
using tools which depend on installables). | 2016-08-21 21:55:21 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 1a7b4f8729 | Build the examples when doing a normal build; this exercises the compiler as a whole and is one step further towards a proper test suite. | 2016-08-20 14:05:24 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 23e8d5af5a | Wildcards are allowed to match no files now. | 2016-08-20 12:40:00 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 46bd70380c | Filename variables now get passed into ackbuilder on the command line. | 2016-08-15 00:47:08 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 53f043ff40 | Backport to Lua 5.1 (because 5.2 on Travis doesn't have luaposix...). | 2016-08-14 22:52:57 +02:00 |  | 
				
					
						| 
								
								
									 David Given | fb2a42a2db | installables need to depend on their source files... | 2016-08-14 11:25:47 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 10746f8b97 | Add cycle detection, because it was ruining my day. Allow targets to be stored in a file called build-<target>.lua to allow better dividing up of build rules
(to break cycles). | 2016-08-14 01:38:36 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b592c88bdf | replace() gets confused if you give it a singleton list as its parameter. | 2016-08-12 00:19:30 +02:00 |  | 
				
					
						| 
								
								
									 David Given | c213602a02 | Target lists can now have keyed items ({["foo"] = "+target"); this is used by both installable and by clibrary{} to allow headers to be
installed into subdirectories. | 2016-08-08 23:55:23 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 0d77cb8279 | We can build our first C file. | 2016-08-07 21:56:53 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b50dc4214a | Add check for undefined variables. Find undefined variables. Fix undefined variables. | 2016-08-05 00:01:55 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 5e84be70fd | Massive ackbuilder refactor --- cleaner and more expressive. Lists are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal. | 2016-08-04 23:51:19 +02:00 |  | 
				
					
						| 
								
								
									 David Given | b2bb4ce3b2 | Builds libend (the simplest library). Becoming obvious I need to rework the way ackbuilder deals with lists. | 2016-07-30 00:39:22 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 363d13cc2f | C preprocessor; tabgen; now the pc86 boot.s builds using the ack toolchain. | 2016-07-29 00:22:49 +02:00 |  | 
				
					
						| 
								
								
									 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 | a8a9d1bbfa | yacc, ncgg; platform ncg builds now. | 2016-07-26 23:35:30 +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 | 2770a83837 | More programs, more libraries. src/modules build files are now saner. | 2016-07-23 00:30:31 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 05e3cf286f | Saner clibrary dependency and header handling. | 2016-07-19 23:42:56 +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 | f70c12fad5 | Allow headers which aren't .h files. | 2016-06-30 13:27:47 +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 | c8711628ab | clibrary can now export headers. | 2016-06-29 13:28:45 +02:00 |  | 
				
					
						| 
								
								
									 David Given | 7f7005bac5 | Local rules; include() and replace(). | 2016-06-29 13:28:22 +02:00 |  | 
				
					
						| 
								
								
									 David Given | d805052205 | All the amisc binaries now build. | 2016-06-19 09:32:45 +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 |  |