From 7ebf54bca173c1e5b970f9462436b2c151309220 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Thu, 19 Nov 2009 20:07:52 +0100 Subject: 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 Signed-off-by: Anthony Liguori --- rules.mak | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'rules.mak') 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)$@") -- cgit v1.2.1