aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/acpi
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2010-07-12 21:08:35 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2010-07-12 21:08:35 +0000
commit588697d47836ceb0846a5eb15e821c7479f0d8a7 (patch)
tree7e5eea41970307d5954d4f124e550d863ca7c074 /sys/modules/acpi
parent05f81eb67de2bb2de5ee5c8e86aa8289d356b0ba (diff)
downloadsrc-588697d47836ceb0846a5eb15e821c7479f0d8a7.tar.gz
src-588697d47836ceb0846a5eb15e821c7479f0d8a7.zip
Move i386-inherited logic of building ACPI headers for acpi_wakeup.c into
better places and remove intermediate makefile and shell scripts. This makes parallel kernel build little bit safer for amd64.
Notes
Notes: svn path=/head/; revision=209957
Diffstat (limited to 'sys/modules/acpi')
-rw-r--r--sys/modules/acpi/acpi/Makefile16
1 files changed, 13 insertions, 3 deletions
diff --git a/sys/modules/acpi/acpi/Makefile b/sys/modules/acpi/acpi/Makefile
index 2606023dbafb..4b3d4735bc5c 100644
--- a/sys/modules/acpi/acpi/Makefile
+++ b/sys/modules/acpi/acpi/Makefile
@@ -99,15 +99,25 @@ SRCS+= assym.s madt.c
CLEANFILES+= acpi_wakecode.bin acpi_wakecode.h acpi_wakecode.o
.if ${MACHINE_ARCH} == "amd64"
-SRCS+= acpi_switch.S opt_global.h
+SRCS+= acpi_switch.S acpi_wakedata.h opt_global.h
CLEANFILES+= acpi_wakedata.h
ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
acpi_switch.o: acpi_switch.S
${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
-.endif
-
+acpi_wakecode.o: acpi_wakecode.S assym.s
+ ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
+acpi_wakecode.bin: acpi_wakecode.o
+ objcopy -S -O binary acpi_wakecode.o ${.TARGET}
+acpi_wakecode.h: acpi_wakecode.bin
+ file2c -sx 'static char wakecode[] = {' '};' < acpi_wakecode.bin > \
+ ${.TARGET}
+acpi_wakedata.h: acpi_wakecode.o
+ nm -n --defined-only ${.ALLSRC} | while read offset dummy what; do \
+ echo "#define $${what} 0x$${offset}"; done > ${.TARGET}
+.else
acpi_wakecode.h: acpi_wakecode.S assym.s
${MAKE} -f ${.CURDIR}/../../../${MACHINE_ARCH}/acpica/Makefile \
MAKESRCPATH=${.CURDIR}/../../../${MACHINE_ARCH}/acpica
+.endif
.include <bsd.kmod.mk>