aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2009-11-19 20:07:52 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-03 15:25:59 -0600
commit7ebf54bca173c1e5b970f9462436b2c151309220 (patch)
treea9ac4490eae4b65a39557eeafd93e231d0038d43
parentb10fec9bfac17e932f630d341180d04be97074bc (diff)
Fix build for mingw32 on windows ($@ in macro)
Make using mingw32 on windows does not preserve $@ in macros when they are modified using this pattern: target: macro += something This behaviour results in an error when QEMU_CFLAGS containing "-MMD -MP -MT $@" is modified for compilation of source files which use SDL: $@ will expand to nothing, -MT no longer has the correct argument (it will take the next one from the command line) and the build will fail or run with a wrong command line. The problem is fixed by using a new macro QEMU_DGFLAGS which is not modified by a target rule. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--rules.mak9
1 files changed, 5 insertions, 4 deletions
diff --git a/rules.mak b/rules.mak
index 77a801b498..16713bacd7 100644
--- a/rules.mak
+++ b/rules.mak
@@ -11,16 +11,17 @@ MAKEFLAGS += -rR
%.m:
%.mak:
-QEMU_CFLAGS += -MMD -MP -MT $@
+# Flags for dependency generation
+QEMU_DGFLAGS += -MMD -MP -MT $@
%.o: %.c $(GENERATED_HEADERS)
- $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
+ $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
%.o: %.S
- $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) -c -o $@ $<," AS $(TARGET_DIR)$@")
+ $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," AS $(TARGET_DIR)$@")
%.o: %.m
- $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) -c -o $@ $<," OBJC $(TARGET_DIR)$@")
+ $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," OBJC $(TARGET_DIR)$@")
LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(1) $(ARLIBS_BEGIN) $(ARLIBS) $(ARLIBS_END) $(LIBS)," LINK $(TARGET_DIR)$@")