it will fail. why?
After make clean, .c files created by iasl are still left in the build
folder, it will match the rule of
$(obj)/%.o: $(obj)/%.c $(obj)/config.h
@printf " CC $(subst $(obj)/,,$(@))\n"
$(CC) -MMD $(CFLAGS) -c -o $@ $<
it will miss the rule which should be applied.
define objs_asl_template
....
So we move the .c file back to .hex (or other suffix? or delete?).
This patch will work after make distclean, otherwise nobody will rename
the .c.
Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5503
2b7e53f0-3cfb-0310-b3e9-
8179ed1497e1
iasl -p $$(basename $$@) -tc $$(basename $$@).asl
mv $$(basename $$@).hex $$(basename $$@).c
$(CC) $$(CFLAGS) $$(if $$(subst dsdt,,$$(basename $$(notdir $$@))), -DAmlCode=AmlCode_$$(basename $$(notdir $$@))) -c -o $$@ $$(basename $$@).c
+ # keep %.o: %.c rule from catching the temporary .c file after a make clean
+ mv $$(basename $$@).c $$(basename $$@).hex
endef
# macro to define template macros that are used by use_template macro