#
# Makefile version = "$Id: Makefile24,v 1.13 2003/12/02 19:57:07 scottk Exp $"
#

# Compiler and flags to use when compiling the driver itself.
KCC = @KGCC@
CC = @KGCC@
KCFLAGS = @KCFLAGS@
KINC = @KINC@
LINUXSRC = @KERNEL_HEADERS@
SMP = @SMP@
MODDIR = $(shell echo $(BUILDROOT)@MODDIR@/misc)
LSMOD = @LSMOD@
RMMOD = @RMMOD@
INSMOD = @INSMOD@

include ../Makefile.inc

#
# variables
#

GCCDIR=$(shell $(CC) --print-libgcc | xargs dirname)

RPMNAME := $(PACKAGE)-$(TRUE_VERSION)

PARTNUM := $(DGAP_PART_NUM)

RELNOTES := $(DGAP_REL_NOTE)

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

VERFILE=@KERNEL_HEADERS@/include/linux/modversions.h
MODVERSIONS=$(shell [ -f $(VERFILE) ] && echo -DMODVERSIONS -include $(VERFILE) )

KCFLAGS += -O2 -D__KERNEL__ -DMODULE  -DLINUX \
	-DDG_NAME=\"$(RPMNAME)\" -DDG_PART=\"$(PARTNUM)\" $(INCLUDES) \
	-Wall -Wstrict-prototypes -pipe -fno-strength-reduce\
	-DSBINDIR=\"$(SBINDIR)\" -DDGAP_TRACER $(MODVERSIONS)\
	-D@DISTRO@

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


MODULES=	dgap.o

OBJECTS=	dgap_driver.o   dgap_mgmt.o	dgap_parse.o\
		dgap_proc.o	dgap_trace.o	dgap_tty.o


all:  build


build:	$(MODULES)


clean: 
	-rm -f *~ *.o


clobber: clean
	-rm -f *.i *.s
	rm -rf Makefile


install: build
	install -m 0755 -d $(MODDIR)
	install -m 0644 $(MODULES) $(MODDIR)


copymod:
	install -m 0644 $(MODULES) $(MODDIR)


uninstall: unload
	-rm -f $(MODDIR)/$(PACKAGE).o


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

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


 
dgap.o: $(OBJECTS)
	$(LD) -r -nostartfiles -o $@ $(OBJECTS) -L$(GCCDIR) -lgcc

dgap_driver.o: dgap_driver.c include/dgap_driver.h
	$(KCC) $(KCFLAGS) -c dgap_driver.c -o dgap_driver.o

dgap_fileio.o: dgap_fileio.c include/dgap_driver.h include/dgap_fileio.h
	$(KCC) $(KCFLAGS) -c dgap_fileio.c -o dgap_fileio.o

dgap_parse.o: dgap_parse.c include/dgap_driver.h include/dgap_parse.h
	$(KCC) $(KCFLAGS) -c dgap_parse.c -o dgap_parse.o

dgap_proc.o: dgap_proc.c include/dgap_driver.h include/dgap_proc.h
	$(KCC) $(KCFLAGS) -c dgap_proc.c -o dgap_proc.o

dgap_trace.o: dgap_trace.c include/dgap_driver.h include/dgap_trace.h
	$(KCC) $(KCFLAGS) -c dgap_trace.c -o dgap_trace.o

dgap_tty.o: dgap_tty.c include/dgap_driver.h include/dgap_tty.h
	$(KCC) $(KCFLAGS) -c dgap_tty.c -o dgap_tty.o

dgap_mgmt.o: dgap_mgmt.c include/dgap_driver.h include/dgap_mgmt.h
	$(KCC) $(KCFLAGS) -c dgap_mgmt.c -o dgap_mgmt.o
