diff --git a/first/core.mk b/first/core.mk
index 1dc82c5b9..d2e32fc68 100644
--- a/first/core.mk
+++ b/first/core.mk
@@ -93,7 +93,7 @@ endef
 # --- ACK library linking
 
 define acklibrary-rule
-$o: $s $(ACKAR)
+$o: $s $(AAL)
 	@echo ACKLIBRARY $o
 	@mkdir -p $(dir $o)
 	@$(RM) $o
diff --git a/lang/m2/comp/defmodule.c b/lang/m2/comp/defmodule.c
index fc83d36fd..f26168a28 100644
--- a/lang/m2/comp/defmodule.c
+++ b/lang/m2/comp/defmodule.c
@@ -12,6 +12,7 @@
 #include "parameters.h"
 #include	"debug.h"
 
+#include <stdlib.h>
 #include	<assert.h>
 #include	<em_arith.h>
 #include	<em_label.h>
diff --git a/mach/proto/as/build.mk b/mach/proto/as/build.mk
index 039630f75..64eaab1e9 100644
--- a/mach/proto/as/build.mk
+++ b/mach/proto/as/build.mk
@@ -25,7 +25,9 @@ define build-as-impl
 	$(call yacc, $(OBJDIR)/$D, $(OBJDIR)/$D/preprocessed-comm2.y)
 
 $(eval CLEANABLES += $(OBJDIR)/$D/preprocessed-comm2.y)
-$(OBJDIR)/$D/preprocessed-comm2.y: mach/proto/as/comm2.y $(CPPANSI)
+$(OBJDIR)/$D/preprocessed-comm2.y: mach/proto/as/comm2.y $(CPPANSI) \
+		mach/$(ARCH)/as/mach2.c \
+		mach/$(ARCH)/as/mach4.c
 	@echo PREPROCESS $$@
 	@mkdir -p $$(dir $$@)
 	$(hide) $(CPPANSI) -P \