
DRIVER=		ghwm

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

NEEDED=

ALIASES=

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/misc

CFLAGS64=	$(DEFS) $(INCS) -m64 -mtune=opteron \
		-mcmodel=kernel -mno-red-zone -fno-strict-aliasing
BINDIR64=	amd64
DESTDIR64=	/usr/kernel/misc/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)/.

uninstall:
	rm -f $(DESTDIR32)/$(DRIVER) $(DESTDIR64)/$(DRIVER)
	-@modinfo | awk '$$6 == "$(DRIVER)" { print $$1; }' | \
	    xargs -t -n1 modunload -i

.FORCE:

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

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

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

