mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-23 04:23:08 +00:00
4c97fac781
hacks to install kernel loadable modules correctly on amd64 platforms with the new INSTALL_KLD command. All PORTREVISIONS have been bumped to show when the new version of installing became available.
175 lines
5.1 KiB
Makefile
175 lines
5.1 KiB
Makefile
# New ports collection makefile for: ipw-firmware
|
|
# Date created: May 11 2005
|
|
# Whom: Florent Thoumie <flz@FreeBSD.org>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME?= ipw-firmware
|
|
RELNAME?= ipw2100
|
|
PORTVERSION?= 1.3
|
|
PORTREVISION?= 10
|
|
CATEGORIES= net sysutils kld
|
|
MASTER_SITES= ${MASTER_SITE_LOCAL}
|
|
MASTER_SITE_SUBDIR= flz/ipw
|
|
DISTFILES= ${RELNAME}-fw-${PORTVERSION}.tgz
|
|
|
|
MAINTAINER= flz@FreeBSD.org
|
|
COMMENT?= Intel PRO/Wireless 2100 Driver Firmware
|
|
|
|
DRIVERNAME?= ipw
|
|
DRIVERVERSION?= 1.6.4
|
|
DRIVERDISTNAME= ${DRIVERNAME}-freebsd-${DRIVERVERSION}
|
|
DISTFILES+= ${DRIVERDISTNAME}.tgz
|
|
FIRMWARES?= ${RELNAME}-${PORTVERSION}-i.fw:${DRIVERNAME}-i.fw \
|
|
${RELNAME}-${PORTVERSION}-p.fw:${DRIVERNAME}-p.fw \
|
|
${RELNAME}-${PORTVERSION}.fw:${DRIVERNAME}.fw
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
# Dummy OSVERSION for ipw.
|
|
MIN7OSVERSION?= 999999
|
|
MAX6OSVERSION?= 700000
|
|
|
|
# Try to guess sensible defaults.
|
|
.if ${OSVERSION} > ${MIN7OSVERSION}
|
|
OPTIONS+= CONTROL "Install ${DRIVERNAME}control(8) utility" off
|
|
.else
|
|
OPTIONS+= CONTROL "Install ${DRIVERNAME}control(8) utility" on
|
|
.endif
|
|
|
|
.if ${OSVERSION} > 600023
|
|
OPTIONS+= MODULE "Install ${DRIVERNAME}(4) kernel module (very old snapshot)" off
|
|
.else
|
|
OPTIONS+= MODULE "Install ${DRIVERNAME}(4) kernel module (very old snapshot)" on
|
|
.endif
|
|
|
|
# Override PREFIX to install ${DRIVERNAME}control(8) somewhere we hope it'll
|
|
# be available soon enough.
|
|
PREFIX= /usr
|
|
|
|
WRKSRC= ${WRKDIR}
|
|
KERNDIR= /boot/kernel
|
|
KMODDIR= /boot/modules
|
|
FWDIR= /boot/firmware
|
|
SUB_FILES= pkg-message
|
|
SUB_LIST= DRIVERNAME="${DRIVERNAME}" \
|
|
RELNAME="${RELNAME}" \
|
|
KMODDIR="${KMODDIR}" \
|
|
FWDIR="${FWDIR}"
|
|
PLIST_SUB:= ${SUB_LIST}
|
|
MAKE_ENV= BINDIR="${PREFIX}/sbin" \
|
|
MANDIR="${PREFIX}/share/man/man" \
|
|
KMODDIR="${KMODDIR}"
|
|
|
|
MANCOMPRESSED= yes
|
|
|
|
.if !defined(PACKAGE_BUILDING)
|
|
IS_INTERACTIVE= yes
|
|
.endif
|
|
|
|
# That's a bit arbitrary since I have no idea if ${DRIVERNAME}(4) can be
|
|
# compiled on FreeBSD previous to 5.3-RELEASE. This is just too old, people
|
|
# should move on. I may change this if I get successful reports though.
|
|
# Comment this IGNORE line if you want to test it anyway.
|
|
.if ${OSVERSION} < 503000
|
|
IGNORE= needs at least FreeBSD 5.3-RELEASE
|
|
.endif
|
|
|
|
.if ( ${OSVERSION} >= 700014 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= ${MAX6OSVERSION} ) )
|
|
IGNORE= is now obsolete, install net/${DRIVERNAME}-firmware-kmod instead
|
|
.endif
|
|
|
|
|
|
.if ${OSVERSION} > ${MIN7OSVERSION}
|
|
SUB_LIST+= DONT_NEED_CONTROL="@comment "
|
|
MTREE_DIRRM= "@comment "
|
|
. if !defined(WITHOUT_CONTROL)
|
|
IGNORE= is configured with ${DRIVERNAME}control(8) which you don't need, use 'make rmconfig' and uncheck CONTROL
|
|
. endif
|
|
.else
|
|
SUB_LIST+= DONT_NEED_CONTROL=""
|
|
MTREE_DIRRM= ""
|
|
MAN8+= ${DRIVERNAME}control.8
|
|
USE_RCORDER= ${DRIVERNAME}.sh
|
|
.endif
|
|
|
|
# Hack because ipw(4) and iwi(4) behavior are not in sync: as of 20/01/2006,
|
|
# iwi(4) loads firmware from /boot/firmware, but ipw(4) does not). Hopefully,
|
|
# sam or mlaier will commit generic firmware loading support and new firmware
|
|
# ports will be created once ipw(4) and iwi(4) have been patched to use it.
|
|
.if ${DRIVERNAME} == "ipw" && ${OSVERSION} > 700006
|
|
MTREE_DIRRM= "@comment "
|
|
.endif
|
|
|
|
PLIST_SUB+= MTREE_DIRRM=${MTREE_DIRRM}
|
|
|
|
.if defined(WITH_MODULE)
|
|
. if ${OSVERSION} > 600023
|
|
IGNORE= is configured with ${DRIVERNAME}(4) support which you don't need, use 'make rmconfig' and uncheck MODULE
|
|
. else
|
|
PLIST_SUB+= WITH_MODULE=""
|
|
MAN4+= ${DRIVERNAME}.4
|
|
. endif
|
|
.else
|
|
PLIST_SUB+= WITH_MODULE="@comment MODULE "
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_CONTROL)
|
|
PLIST_SUB+= WITH_CONTROL=""
|
|
.else
|
|
PLIST_SUB+= WITH_CONTROL="@comment CONTROL "
|
|
.endif
|
|
|
|
# "Might" because people still can include ${DRIVERNAME}(4) support in kernel by extracting
|
|
# its source in src/ and tweaking src/sys/conf/files.
|
|
.if ${OSVERSION} <= 600023 && !exists(${KERNDIR}/if_${DRIVERNAME}.ko) && !defined(WITH_MODULE)
|
|
SUB_LIST+= MIGHT_NEED_MODULE=""
|
|
.else
|
|
SUB_LIST+= MIGHT_NEED_MODULE="@comment "
|
|
.endif
|
|
|
|
do-build:
|
|
.if defined(WITH_MODULE)
|
|
. for i in share sys
|
|
cd ${WRKSRC}/${DRIVERDISTNAME}/src/${i}; make all
|
|
. endfor
|
|
.endif
|
|
.if !defined(WITHOUT_CONTROL)
|
|
cd ${WRKSRC}/${DRIVERDISTNAME}/src/usr.sbin/${DRIVERNAME}control/; make all
|
|
.endif
|
|
|
|
do-install:
|
|
.if !defined(PACKAGE_BUILDING)
|
|
# Let pointyhat build the package, anyway the user will have to agree with license
|
|
# terms to install the port/package.
|
|
${SH} ${PKGREQ} ${PORTNAME} INSTALL
|
|
.endif
|
|
.if defined(WITH_MODULE)
|
|
. for i in share sys
|
|
cd ${WRKSRC}/${DRIVERDISTNAME}/src/${i}; make install ${MAKE_ENV}
|
|
. endfor
|
|
.endif
|
|
.if !defined(WITHOUT_CONTROL)
|
|
cd ${WRKSRC}/${DRIVERDISTNAME}/src/usr.sbin/${DRIVERNAME}control/; make install ${MAKE_ENV}
|
|
.endif
|
|
${MKDIR} ${FWDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/LICENSE ${FWDIR}/LICENSE.${DRIVERNAME}
|
|
.for i in ${FIRMWARES}
|
|
${INSTALL_KLD} ${WRKSRC}/${i:C/:.*//} ${FWDIR}/${i:C/.*://}
|
|
.endfor
|
|
|
|
post-install:
|
|
@${CAT} ${PKGMESSAGE}
|
|
.if defined(WITH_MODULE)
|
|
@${ECHO_CMD} "You asked for ${DRIVERNAME}(4) module to be installed but"
|
|
@${ECHO_CMD} "be aware that this is a *very* *old* snapshot of the code"
|
|
@${ECHO_CMD} "and that it probably won't work correctly."
|
|
@${ECHO_CMD} "This option will probably go away in a near future."
|
|
@${ECHO_CMD} "SLIPPERY WHEN WET ! BEWARE OF THE DOGS !"
|
|
@${ECHO_CMD} "You have been warned."
|
|
.endif
|
|
|
|
|
|
.include <bsd.port.post.mk>
|