#
# Makefile version = "$Id: Makefile,v 1.7 2001/05/01 15:22:18 randall Exp $"
#

include Makefile.inc



#
# variables
#

RPMNAME := $(shell /bin/sh ./specinfo RPMNAME < $(PACKAGE).spec)
PARTNUM := $(shell /bin/sh ./specinfo PARTNUM < $(PACKAGE).spec)
RELNOTES := $(shell /bin/sh ./specinfo RELNOTES < $(PACKAGE).spec)

INCLUDES = -I$(LINUXSRC)/include -I./includes

KCFLAGS += -O2 -D__KERNEL__ -DMODULE  -DLINUX \
           -DDG_NAME=\"$(RPMNAME)\" -DDG_PART=\"$(PARTNUM)\" $(INCLUDES) \
           -Wall -Wstrict-prototypes -pipe -fno-strength-reduce

LDFLAGS = -s -N

ifeq ($(SMP),SMP)
        CFLAGS += -D__SMP__ -DCONFIG_X86_LOCAL_APIC
endif

MODULES= $(PACKAGE).o
OBJECTS= $(PACKAGE).o



all:  build

build: $(PACKAGE).o
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;

clean: 
	-rm -f *~ *.o depend.mk
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;

clobber: clean
	-rm -f *.i *.s
	-rm -rf RPM drv dpa.seperate scripts
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;

copy-fep:
	install -m 755 cxfepbin/cxbios.bin dl/firmware/cxbios.bin
	install -m 755 cxfepbin/cxcon.bin  dl/firmware/cxcon.bin
	install -m 755 cxfepbin/cxfep.bin  dl/firmware/cxfep.bin
	install -m 755 mipsfepbin/cxpbios.bin dl/firmware/cxpbios.bin
	install -m 755 mipsfepbin/cxpfep.bin  dl/firmware/cxpfep.bin
	install -m 755 mipsfepbin/fxcon.bin  dl/firmware/fxcon.bin
	install -m 755 mipsfepbin/sxbios.bin dl/firmware/sxbios.bin
	install -m 755 mipsfepbin/sxfep.bin  dl/firmware/sxfep.bin
	install -m 755 mipsfepbin/xrbios.bin dl/firmware/xrbios.bin
	install -m 755 mipsfepbin/xrfep.bin  dl/firmware/xrfep.bin
	install -m 755 pcxxfepbin/xabios.bin dl/firmware/xxbios.bin
	install -m 755 pcxxfepbin/xacook.bin dl/firmware/xxfep.bin
	cd includes && make -f ../Makefile.includes $@;

install: build .lastinstall
	install -m 0755 -d $(MODDIR)
	install -m 0755 -d $(RCDIR)
	install -m 0755 -d $(BINDIR)
	install -m 0755 -d $(DRVLIBDIR)
	install -m 0755 -d $(DEVDIR)
	install -m 0644 $(MODULES) $(MODDIR)
	/sbin/depmod -a
	install -m 0755 $(PACKAGE).rc $(RCDIR)/$(PACKAGE)
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;

postinstall:

preuninstall:

uninstall: unload
	rm -f $(MODDIR)/$(PACKAGE).o
	rm -f $(RCDIR)/$(PACKAGE)
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;
	rm -rf $(DRVLIBDIR)

unload:
	if [ "`lsmod | grep -c $(PACKAGE)`" -gt "0" ] ; then \
		rmmod $(PACKAGE); \
	fi

$(PACKAGE).o: $(PACKAGE).c
	$(KCC) $(KCFLAGS) -c $(PACKAGE).c

# convenient target alias
$(PACKAGE): $(PACKAGE).o
	-touch $(PACKAGE)
	-rm $(PACKAGE)


#
# Build RPM
#
srpm: $(RPMDIR)/SOURCES/$(RPMNAME).tar.gz $(RPMDIR)/SRPMS/$(RPMNAME).src.rpm
 
$(RPMDIR)/SOURCES/$(RPMNAME).tar.gz: install-src clean-src
	mv $(SRCDIR)/drv/linux $(SRCDIR)/drv/$(RPMNAME)
	(cd $(SRCDIR)/drv ; tar cfvz $(RPMNAME).tar.gz $(RPMNAME))
	mv $(SRCDIR)/drv/$(RPMNAME) $(SRCDIR)/drv/linux
	mv $(SRCDIR)/drv/$(RPMNAME).tar.gz $(RPMDIR)/SOURCES

install-src: .lastinstall $(PACKAGE).spec
	install -m 0755 -d $(SRCDIR)/drv/linux/includes
	install -m 0755 -d $(SRCDIR)/drv/linux/digiConf
	install -m 0755 -d $(SRCDIR)/drv/linux/dl
	install -m 0755 -d $(SRCDIR)/drv/linux/ditty
	install -m 0755 -d $(SRCDIR)/drv/linux/dpa
	install -m 0644 *.[ch] Makefile Makefile.inc $(SRCDIR)/drv/linux
	install -m 0644 COPYING $(PACKAGE).spec $(SRCDIR)/drv/linux
	install -m 0755 $(PACKAGE).rc specinfo $(SRCDIR)/drv/linux
	install -m 0644 includes/*.h $(SRCDIR)/drv/linux/includes
	if [ -x prep-install ] ; then \
		prep-install INSTALL $(RPMNAME) $(PARTNUM) $(RELNOTES) \
	                     $(SRCDIR)/drv/linux/INSTALL; \
		prep-install release.notes $(RPMNAME) $(PARTNUM) $(RELNOTES) \
	                     $(SRCDIR)/drv/linux/release.notes; \
	else \
		install -m 0644 INSTALL README $(SRCDIR)/drv/linux; \
	fi
	cd digiConf && make $@;
	cd ditty && make $@;
	cd dl && make $@;
	cd dpa && make -f dpalinux.mk $@;
	chown -R root:0 $(SRCDIR)
 
clean-src:
	cd $(SRCDIR)/drv/linux && make clean;
 
$(RPMDIR)/SRPMS/$(RPMNAME).src.rpm: .lastinstall $(PACKAGE).spec $(RPMDIR)/SOURCES/$(RPMNAME).tar.gz
	rpm -ba $(PACKAGE).spec

.lastinstall:
	touch .lastinstall
 
depend.mk:
