fix a couple of warnings
[coreboot.git] / src / cpu / x86 / smm / Makefile.inc
index 6a566017ea5a5cb0cf0f32d6ddc7fc9351082688..36eb23a5d8f88ff0bc9302b20aad44380ded67c4 100644 (file)
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-##if CONFIG_HAVE_SMI_HANDLER
-##     object smmrelocate.S
-##
-##     smmobject smmhandler.S
-##     smmobject smihandler.o
-##
-##     makerule smm.o
-##             depends "$(SMM-OBJECTS) $(TOP)/src/console/printk.o $(TOP)/src/console/vtxprintf.o $(LIBGCC_FILE_NAME)" 
-##             action  "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ $^"
-##     end
-##
-##     makerule smm
-##             depends "smm.o $(TOP)/src/cpu/x86/smm/smm.ld ldoptions" 
-##             action  "$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static -o smm.elf -T $(TOP)/src/cpu/x86/smm/smm.ld smm.o"
-##             action  "$(CONFIG_CROSS_COMPILE)nm -n smm.elf | sort > smm.map"
-##             action  "$(OBJCOPY) -O binary smm.elf smm"
-##     end
-##
-##     makerule smm_bin.c
-##             depends "smm"
-##             action "(echo 'unsigned char smm[] = {'; od -vtx1 smm | sed -e 's,^[0-9]* *,,' -e 's:[0-9a-f][0-9a-f] :0x&,:g' -e 's:[0-9a-f][0-9a-f]$$:0x&,:'; echo '}; unsigned int smm_len = '; wc -c smm |awk '{print $$1;}' ; echo ';')  > smm_bin.c"
-##     end
-##
-##     object ./smm_bin.o
-##end
+obj-$(CONFIG_HAVE_SMI_HANDLER) += smmrelocate.o
+obj-$(CONFIG_HAVE_SMI_HANDLER) += smm_bin.o
+
+smmobj-y += smmhandler.o
+smmobj-y += smihandler.o
+smmobj-y += smiutil.o
+
+ifdef POST_EVALUATION
+
+$(obj)/cpu/x86/smm/smm.o: $(smmobjs) $(obj)/console/printk.o $(obj)/console/vtxprintf.o $(LIBGCC_FILE_NAME)
+       $(CC) $(LDFLAGS) -nostdlib -r -o $@ $^
+
+$(obj)/cpu/x86/smm/smm: $(obj)/cpu/x86/smm/smm.o $(src)/cpu/x86/smm/smm.ld $(obj)/ldoptions
+       $(CC) $(LDFLAGS) -nostdlib -nostartfiles -static -o $(obj)/cpu/x86/smm/smm.elf -T $(src)/cpu/x86/smm/smm.ld $(obj)/cpu/x86/smm/smm.o
+       $(NM) -n $(obj)/cpu/x86/smm/smm.elf | sort > $(obj)/cpu/x86/smm/smm.map
+       $(OBJCOPY) -O binary $(obj)/cpu/x86/smm/smm.elf $(obj)/cpu/x86/smm/smm
+
+$(obj)/cpu/x86/smm/smm_bin.c: $(obj)/cpu/x86/smm/smm
+       (echo 'unsigned char smm[] = {'; od -vtx1 $(obj)/cpu/x86/smm/smm | sed -e 's,^[0-9]* *,,' -e 's:[0-9a-f][0-9a-f] :0x&,:g' -e 's:[0-9a-f][0-9a-f]$$:0x&,:'; echo '}; unsigned int smm_len = '; wc -c $(obj)/cpu/x86/smm/smm |awk '{print $$1;}' ; echo ';')  > $@
+
+$(obj)/cpu/x86/smm/smm_bin.o: $(obj)/cpu/x86/smm/smm_bin.c
+       @printf "    CC         $(subst $(obj)/,,$(@))\n"
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+endif
+