#!/usr/bin/make # Makefile for building Linux Broadcom Gigabit ethernet driver as a module. # $id$ # PREFIX may be set by the RPM build to set the effective root. PREFIX= ifeq ($(shell ls /lib/modules/`uname -r`/build > /dev/null 2>&1 && echo build),) LINUX=/usr/src/linux else LINUX=/lib/modules/`uname -r`/build endif ifeq ($(shell which kgcc > /dev/null 2>&1 && echo kgcc),) CC = gcc else CC = kgcc endif LD = ld CFLAGS=-DMODULE -D__KERNEL__ -DDBG=0 -Wall -Wstrict-prototypes -O6 -I$(LINUX)/include ifeq ($(wildcard ~/rpmdir),) rpmdir = /usr/src/redhat else rpmdir = $(wildcard ~/rpmdir) endif # If the modversion.h file exists we should pass a flag. # Most of my drivers have been updated to not need this, but not the other # kernel source files. #MODVER_H = $(LINUX)/include/linux/modversions.h #ifneq ($(wildcard $(MODVER_H)),"") # CFLAGS += -DMODVERSIONS #endif ifdef DBG CFLAGS += -DTIGON3_DEBUG=1 endif ifdef SMALL CFLAGS += -DBCM_SMALL_DRV=1 endif all: bcm4400.o tar: bcm4400.tgz bcm4400.o: b44um.o b44proc.o b44lm.o $(LD) -i $^ -o $@ install: bcm4400.o @if [ -d $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/addon/bcm4400 ];\ then install -m 444 bcm4400.o $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/addon/bcm4400;\ elif [ -d $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/net/bcm ];\ then install -m 444 bcm4400.o $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/net/bcm;\ elif [ -d $(PREFIX)/lib/modules/`uname -r`/kernel ];\ then mkdir -p $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/net;\ install -m 444 bcm4400.o $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/net;\ else mkdir -p $(PREFIX)/lib/modules/`uname -r`/net;\ install -m 444 bcm4400.o $(PREFIX)/lib/modules/`uname -r`/net/;\ fi @if [ "$(PREFIX)" = "" ]; then /sbin/depmod -a ;\ else echo " *** Run '/sbin/depmod -a' to update the module database.";\ fi @if [ -d $(PREFIX)/usr/share/man ];\ then install -m 444 bcm4400.4.gz $(PREFIX)/usr/share/man/man4;\ elif [ -d $(PREFIX)/usr/man ];\ then install -m 444 bcm4400.4.gz $(PREFIX)/usr/man/man4;\ fi bcm4400.tgz: Makefile *.[cho] LICENSE RELEASE.TXT tar cfvz $@ $^ rpm: bcm4400.tgz bcm4400.spec cp -p $< ${rpmdir}/SOURCES/ rpm -ba bcm4400.spec .PHONEY: all clean install tar debug: @make DBG=1 small: @make SMALL=1 clean: -rm -f bcm4400.o b44um.o b44proc.o b44lm.o