+# Override .ao to look in the object prefix for the source
+%.ao: %.asm
+ @echo [AS] -o $@
+ @mkdir -p $(dir $@)
+ @$(AS) $(ASFLAGS) -o $@ $<
+
+.PRECIOUS: $(OBJ:%.ao=%.asm)
+
+# Preprocessing objects if needed
+$(_OBJPREFIX)%: %.h
+ @echo [CPP] -o $@
+ @mkdir -p $(dir $@)
+ @$(CPP) $(CPPFLAGS) -P -D_ASM_ $< -o $@