[Edinburgh-pm] Build systems

Miles Gould miles at assyrian.org.uk
Tue May 31 07:35:26 PDT 2011


So you know how I've spent the last year ranting drunkenly about how
insane and undebuggable our build system is, with its layers of
shell-that-interprets-DSLs-to-build-Makefiles-to-build-Makefiles? And
how I've wasted God only knows how much time and concentration doing
clean builds?

Today I committed this:

commit 9524bfa79dbc4759025440f93f6f2b65a805c795
Author: Miles Gould <mgould1 at sentinel.inf.ed.ac.uk>
Date:   Tue May 31 15:00:17 2011 +0100

    Added untracked .cgd files to the relevant Makefile.

     - also changed order to that output by ls, so it's easier to
identify missing
       files.

diff --git a/eng/cg-arc/cgd/Makefile b/eng/cg-arc/cgd/Makefile
index 52a12b3..a8c3b69 100644
--- a/eng/cg-arc/cgd/Makefile
+++ b/eng/cg-arc/cgd/Makefile
@@ -4,26 +4,31 @@

 SRCDIR = $(COSYROOT)/engines/cg/cgd
 CGD    = \
-       $(SRCDIR)/rules/arithmetic.cgd    \
-       $(SRCDIR)/rules/logical.cgd       \
-       $(SRCDIR)/rules/boolconst.cgd     \
-       $(SRCDIR)/rules/calling.cgd       \
-       $(SRCDIR)/rules/convert.cgd       \
-       $(SRCDIR)/rules/intrinsics.cgd    \
-       $(SRCDIR)/rules/move.cgd          \
-       $(SRCDIR)/rules/operators.cgd     \
-       $(SRCDIR)/rules/registers.cgd     \
-       $(SRCDIR)/rules/scheduler.cgd     \
-       $(SRCDIR)/rules/16bit.cgd         \
-       $(SRCDIR)/rules/longlong.cgd         \
-       $(SRCDIR)/rules/emit-ip.cgd       \
-       $(SRCDIR)/rules/match-ip.cgd      \
-       $(SRCDIR)/rules/cover-ip.cgd      \
-       $(SRCDIR)/rules/main.cgd          \
-       $(SRCDIR)/ddg/target.c      \
-       $(SRCDIR)/datagen/target.c  \
-       $(SRCDIR)/ccreg/target.c    \
-       $(SRCDIR)/setpsr/target.c
+       $(SRCDIR)/rules/16bit.cgd               \
+       $(SRCDIR)/rules/arithmetic.cgd          \
+       $(SRCDIR)/rules/boolconst.cgd           \
+       $(SRCDIR)/rules/calling.cgd             \
+       $(SRCDIR)/rules/convert.cgd             \
+       $(SRCDIR)/rules/cover-ip.cgd            \
+       $(SRCDIR)/rules/emit-ip.cgd             \
+       $(SRCDIR)/rules/encore-brxx.cgd         \
+       $(SRCDIR)/rules/encore.cgd              \
+       $(SRCDIR)/rules/instructions-16.cgd     \
+       $(SRCDIR)/rules/instructions.cgd        \
+       $(SRCDIR)/rules/intrinsics.cgd          \
+       $(SRCDIR)/rules/logical.cgd             \
+       $(SRCDIR)/rules/longlong.cgd            \
+       $(SRCDIR)/rules/main.cgd                \
+       $(SRCDIR)/rules/match-ip.cgd            \
+       $(SRCDIR)/rules/move.cgd                \
+       $(SRCDIR)/rules/operators.cgd           \
+       $(SRCDIR)/rules/registers.cgd           \
+       $(SRCDIR)/rules/rex-ip.cgd              \
+       $(SRCDIR)/rules/scheduler.cgd           \
+       $(SRCDIR)/ddg/target.c          \
+       $(SRCDIR)/datagen/target.c              \
+       $(SRCDIR)/ccreg/target.c                \
+       $(SRCDIR)/setpsr/target.c

 pre-flattening: $(GENDIR)/GcgStat

I could have checked for that a year ago. I am *such* an idiot.

[Not all the Makefiles are generated, it turns out. This one, in
particular, isn't. The untracked files were added to the repo (but not
the Makefile) shortly before I started.]

Miles.


More information about the Edinburgh-pm mailing list