
DRIVER=		asmbus

SRCS=		$(DRIVER).c
HDRS=		$(DRIVER)_impl.h

NEEDED=		-N misc/i2c_svc

# 		pci10de,52	NVidia CK8-04
# 		pci10de,264	NVidia MCP 410/430
# 		pci10de,368	NVidia MCP55 Pro
#		pci1022,746a	AMD 8111 SMBus
#
ALIASES=	-i '"pci10de,52" "pci10de,264" "pci10de,368" "pci1022,746a"'

INCS=		-I. -I../include
DEFS=		-Di86pc -D_KERNEL -D_DDI_STRICT -Dsun -D__sun -D__SVR4 $(DEBUG)

CFLAGS32=	$(DEFS) $(INCS)
BINDIR32=	i386
DESTDIR32=	/usr/kernel/drv

CFLAGS64=	$(DEFS) $(INCS) -m64 -mtune=opteron \
		-mcmodel=kernel -mno-red-zone -fno-strict-aliasing
BINDIR64=	amd64
DESTDIR64=	/usr/kernel/drv/amd64

LDFLAGS=	-dy $(NEEDED)

CC= 		gcc
LD=		/usr/ccs/bin/ld $(LDFLAGS)

all:	$(BINDIR32)/$(DRIVER) $(BINDIR64)/$(DRIVER)

$(BINDIR32)/$(DRIVER): $(BINDIR32)/$(DRIVER).o
	$(LD) -r $(BINDIR32)/$(DRIVER).o -o $@

$(BINDIR32)/$(DRIVER).o: $(SRCS) $(HDRS)
	$(CC) -c $(CFLAGS32) $(DRIVER).c -o $@

$(BINDIR64)/$(DRIVER): $(BINDIR64)/$(DRIVER).o
	$(LD) -r $(BINDIR64)/$(DRIVER).o -o $@

$(BINDIR64)/$(DRIVER).o: $(SRCS) $(HDRS)
	$(CC) -c $(CFLAGS64) $(DRIVER).c -o $@

debug:	
	$(MAKE) DEBUG=-DDEBUG all

install:	$(BINDIR32)/$(DRIVER) $(BINDIR64)/$(DRIVER)
	mkdir -p $(DESTDIR32) $(DESTDIR64)
	cp $(BINDIR32)/$(DRIVER) $(DESTDIR32)/.
	cp $(BINDIR64)/$(DRIVER) $(DESTDIR64)/.
	rem_drv $(DRIVER) || true
	add_drv -m '* 0644 root sys' $(ALIASES) -c "smbus" $(DRIVER)

uninstall:
	rm -f $(DESTDIR32)/$(DRIVER) $(DESTDIR64)/$(DRIVER)
	rem_drv $(DRIVER) || true

.FORCE:

tags:	.FORCE
	ctags -tw ../*/*.[ch]

test:
	sh ./test.sh $(DRIVER)

clean:
	rm -f $(BINDIR32)/* $(BINDIR64)/* tags

