
MODULES = i2c_svc ghwm i2chwm
DRIVERS = asmbus ismbus isahwm nvthwm wbhwm fithwm itehwm idtsm
EXTRA_DRIVERS = nsmxhwm dimmspd smbpeek

ALL = $(MODULES) $(DRIVERS) $(EXTRA_DRIVERS)

DEVLINKTAB =	/etc/devlink.tab

#DEBUG=	-DDEBUG

all debug tags clean::
	for m in $(ALL) samples; do \
	    ( cd $$m; $(MAKE) $@ DEBUG="$(DEBUG)" ); \
	done

install:	all
	for m in $(MODULES); do ( cd $$m; $(MAKE) install ); done
	for m in $(MODULES); do modload /usr/kernel/misc/$$m; done
	for m in $(DRIVERS); do ( cd $$m; $(MAKE) install ); done
	grep '^#*	*minor=hwstat	' $(DEVLINKTAB) >/dev/null || \
	    echo 'minor=hwstat	\\M0\\N0' >> $(DEVLINKTAB)
	for m in $(DRIVERS); do devfsadm -i $$m || true; done

install-all:	install
	for m in $(EXTRA_DRIVERS); do ( cd $$m; $(MAKE) install ); done

uninstall:
	@for m in $(ALL); do \
	    echo "$$m"; \
	done | grep -n . | sort -t: -nr | sed -e 's/^[^:]*://' | \
	    while read m; do ( cd $$m; $(MAKE) uninstall ); done

test:
	samples/hwstat

.FORCE:

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

clean::
	rm -f tags

