svn commit: r257637 - in head: . sys/conf sys/dev/aic7xxx/aicasm sys/modules/aic7xxx sys/modules/aic7xxx/ahc sys/modules/aic7xxx/ahd
Ian Lepore
ian at FreeBSD.org
Mon Nov 4 15:55:06 UTC 2013
Author: ian
Date: Mon Nov 4 15:55:04 2013
New Revision: 257637
URL: http://svnweb.freebsd.org/changeset/base/257637
Log:
Rework the aicasm build machinery so that it gets built along with toolchain
components instead of with the kernel and/or modules. This ensures that it
gets built with the host compiler, not the compiler in obj/... used to build
the target components (which may be a cross-compiler outputting code for a
different architecture and using header files with types and options set up
for the wrong architecture).
Reviewed by: imp
Modified:
head/Makefile.inc1
head/sys/conf/files
head/sys/dev/aic7xxx/aicasm/Makefile
head/sys/modules/aic7xxx/Makefile
head/sys/modules/aic7xxx/ahc/Makefile
head/sys/modules/aic7xxx/ahd/Makefile
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Mon Nov 4 15:49:36 2013 (r257636)
+++ head/Makefile.inc1 Mon Nov 4 15:55:04 2013 (r257637)
@@ -1019,20 +1019,7 @@ buildkernel:
@echo "--------------------------------------------------------------"
@echo ">>> stage 2.3: build tools"
@echo "--------------------------------------------------------------"
- cd ${KRNLOBJDIR}/${_kernel}; \
- PATH=${BPATH}:${PATH} \
- MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
- ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF -DEARLY_BUILD \
- -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
-# XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
-.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
-.for target in obj depend all
- cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
- PATH=${BPATH}:${PATH} \
- MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
- ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF -DEARLY_BUILD ${target}
-.endfor
-.endif
+ @# Currently no special kernel tools to build.
.if !defined(NO_KERNELDEPEND)
@echo
@echo "--------------------------------------------------------------"
@@ -1319,10 +1306,6 @@ bootstrap-tools: .MAKE
#
# build-tools: Build special purpose build tools
#
-.if defined(MODULES_WITH_WORLD) && exists(${KERNSRCDIR}/modules)
-_aicasm= sys/modules/aic7xxx/aicasm
-.endif
-
.if !defined(NO_SHARE)
_share= share/syscons/scrnmaps
.endif
@@ -1344,7 +1327,6 @@ build-tools: .MAKE
lib/ncurses/ncurses \
lib/ncurses/ncursesw \
${_share} \
- ${_aicasm} \
usr.bin/awk \
lib/libmagic \
usr.bin/mkesdb_static \
@@ -1410,7 +1392,8 @@ cross-tools: .MAKE
usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \
${_btxld} \
${_crunchide} \
- ${_kgzip}
+ ${_kgzip} \
+ sys/dev/aic7xxx/aicasm
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
cd ${.CURDIR}/${_tool} && \
${MAKE} DIRPRFX=${_tool}/ obj && \
Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Mon Nov 4 15:49:36 2013 (r257636)
+++ head/sys/conf/files Mon Nov 4 15:55:04 2013 (r257637)
@@ -9,44 +9,39 @@ acpi_quirks.h optional acpi \
compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \
no-obj no-implicit-rule before-depend \
clean "acpi_quirks.h"
-aicasm optional ahc | ahd \
- dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \
- compile-with "CC='${CC}' ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
- no-obj no-implicit-rule \
- clean "aicasm* y.tab.h"
aic7xxx_seq.h optional ahc \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
no-obj no-implicit-rule before-depend local \
clean "aic7xxx_seq.h" \
- dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic7xxx_reg.h optional ahc \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
no-obj no-implicit-rule before-depend local \
clean "aic7xxx_reg.h" \
- dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic7xxx_reg_print.c optional ahc \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
no-obj no-implicit-rule local \
clean "aic7xxx_reg_print.c" \
- dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic7xxx_reg_print.o optional ahc ahc_reg_pretty_print \
compile-with "${NORMAL_C}" \
no-implicit-rule local
aic79xx_seq.h optional ahd pci \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
no-obj no-implicit-rule before-depend local \
clean "aic79xx_seq.h" \
- dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic79xx_reg.h optional ahd pci \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
no-obj no-implicit-rule before-depend local \
clean "aic79xx_reg.h" \
- dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic79xx_reg_print.c optional ahd pci \
- compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
+ compile-with "aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
no-obj no-implicit-rule local \
clean "aic79xx_reg_print.c" \
- dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
+ dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h"
aic79xx_reg_print.o optional ahd pci ahd_reg_pretty_print \
compile-with "${NORMAL_C}" \
no-implicit-rule local
Modified: head/sys/dev/aic7xxx/aicasm/Makefile
==============================================================================
--- head/sys/dev/aic7xxx/aicasm/Makefile Mon Nov 4 15:49:36 2013 (r257636)
+++ head/sys/dev/aic7xxx/aicasm/Makefile Mon Nov 4 15:55:04 2013 (r257637)
@@ -15,7 +15,7 @@ SRCS= ${GENHDRS} ${CSRCS} ${YSRCS} ${LSR
CLEANFILES+= ${GENHDRS} ${YSRCS:R:C/(.*)/\1.output/g}
DPADD= ${LIBL}
LDADD= -ll
-WARNS?= 5
+WARNS?= 0
# Correct path for kernel builds
# Don't rely on the kernel's .depend file
@@ -24,7 +24,7 @@ WARNS?= 5
DEPENDFILE= .depend_aicasm
.endif
-CFLAGS+= -I.
+CFLAGS+= -I${.CURDIR}
.ifdef MAKESRCPATH
CFLAGS+= -I${MAKESRCPATH}
.endif
@@ -38,4 +38,8 @@ YFLAGS+= -t -v
LFLAGS+= -d
.endif
+BINDIR=/usr/bin
+
+build-tools: ${PROG}
+
.include <bsd.prog.mk>
Modified: head/sys/modules/aic7xxx/Makefile
==============================================================================
--- head/sys/modules/aic7xxx/Makefile Mon Nov 4 15:49:36 2013 (r257636)
+++ head/sys/modules/aic7xxx/Makefile Mon Nov 4 15:55:04 2013 (r257637)
@@ -1,6 +1,6 @@
# $FreeBSD$
-SUBDIR= aicasm ahc ahd
+SUBDIR= ahc ahd
.include <bsd.subdir.mk>
Modified: head/sys/modules/aic7xxx/ahc/Makefile
==============================================================================
--- head/sys/modules/aic7xxx/ahc/Makefile Mon Nov 4 15:49:36 2013 (r257636)
+++ head/sys/modules/aic7xxx/ahc/Makefile Mon Nov 4 15:55:04 2013 (r257637)
@@ -15,13 +15,10 @@ REG_PRINT_OPT= -p aic7xxx_reg_print.c
.endif
BEFORE_DEPEND = ${GENSRCS}
-../aicasm/aicasm: ${.CURDIR}/../../../dev/aci7xxx/aicasm/*.[chyl]
- ( cd ${.CURDIR}/../aicasm; ${MAKE} aicasm; )
-
${GENSRCS}: \
${.CURDIR}/../../../dev/aic7xxx/aic7xxx.{reg,seq} \
- ${.CURDIR}/../../../cam/scsi/scsi_message.h ../aicasm/aicasm
- ../aicasm/aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \
+ ${.CURDIR}/../../../cam/scsi/scsi_message.h
+ aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \
-I${.CURDIR}/../../../dev/aic7xxx \
-o aic7xxx_seq.h -r aic7xxx_reg.h \
${REG_PRINT_OPT} \
Modified: head/sys/modules/aic7xxx/ahd/Makefile
==============================================================================
--- head/sys/modules/aic7xxx/ahd/Makefile Mon Nov 4 15:49:36 2013 (r257636)
+++ head/sys/modules/aic7xxx/ahd/Makefile Mon Nov 4 15:55:04 2013 (r257637)
@@ -15,13 +15,10 @@ REG_PRINT_OPT= -p aic79xx_reg_print.c
.endif
BEFORE_DEPEND= ${GENSRCS}
-../aicasm/aicasm: ${.CURDIR}/../../../dev/aic7xxx/aicasm/*.[chyl]
- ( cd ${.CURDIR}/../aicasm; ${MAKE} aicasm; )
-
${GENSRCS}: \
${.CURDIR}/../../../dev/aic7xxx/aic79xx.{reg,seq} \
- ${.CURDIR}/../../../cam/scsi/scsi_message.h ../aicasm/aicasm
- ../aicasm/aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \
+ ${.CURDIR}/../../../cam/scsi/scsi_message.h
+ aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \
-I${.CURDIR}/../../../dev/aic7xxx \
-o aic79xx_seq.h -r aic79xx_reg.h \
${REG_PRINT_OPT} \
More information about the svn-src-all
mailing list