Cleanup a20 code.

Fix two apparent bugs - set_a20() returned new status instead of old
    status and handle_152402() checked wrong bit.
Add bit definition for the a20 enable bit: A20_ENABLE_BIT
Allow ioport.h #defines to be used in romlayout.S.
diff --git a/Makefile b/Makefile
index d5804f3..7bfb345 100644
--- a/Makefile
+++ b/Makefile
@@ -84,7 +84,7 @@
 
 $(OUT)%.lds: %.lds.S
 	@echo "  Precompiling $<"
-	$(Q)$(CPP) -P $< -o $@
+	$(Q)$(CPP) -P -D__ASSEMBLY__ $< -o $@
 
 
 $(OUT)blob.16.s: ; $(call whole-compile, $(CFLAGS16) -S, $(addprefix src/, $(SRC16)),$@)
@@ -92,7 +92,7 @@
 TABLEASM=$(addprefix $(OUT), $(patsubst %.c,%.proc.16.s,$(TABLESRC)))
 $(OUT)romlayout16.o: romlayout.S $(OUT)blob.16.s $(TABLEASM)
 	@echo "  Generating 16bit layout of $@"
-	$(Q)$(CC) $(CFLAGS16) -c $< -o $@
+	$(Q)$(CC) $(CFLAGS16) -c -D__ASSEMBLY__ $< -o $@
 
 $(OUT)romlayout32.o: ; $(call whole-compile, $(CFLAGS), $(addprefix src/, $(SRC32)),$@)