
# these drivers are for 2.2.x and 2.4.x

KERNSRC=/usr/src/linux

ifeq ($(KERNSRC)/.config,$(wildcard $(KERNSRC)/.config))
include $(KERNSRC)/.config
endif


CFLAGS= -Ilinux -I. -I$(KERNSRC)/include -O2  -D__KERNEL__ -DMODULE -fomit-frame-pointer  -DEXPORT_SYMTAB -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -mno-fp-regs -ffixed-8 -mcpu=ev6 -Wa,-mev6

ifdef CONFIG_SMP
CFLAGS += -D__SMP__
AFLAGS += -D__SMP__
endif

ifdef CONFIG_MODULES
ifdef CONFIG_MODVERSIONS
CFLAGS += -DMODVERSIONS -include $(KERNSRC)/include/linux/modversions.h
endif
endif

VERSION       := $(shell grep VERSION $(KERNSRC)/Makefile | head -1 | awk '{print $$NF}' )
PATCHLEVEL    := $(shell grep PATCHLEVEL $(KERNSRC)/Makefile | head -1 | awk '{print $$NF}' )
SUBLEVEL      := $(shell grep SUBLEVEL $(KERNSRC)/Makefile | head -1 | awk '{print $$NF}' )
EXTRAVERSION  := $(shell grep EXTRAVERSION $(KERNSRC)/Makefile | head -1 | awk '$$NF != "=" {print $$NF}' )

VERSTR=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)

TARGET=i2c-cchip.o i2c-smb-ali.o i2c-algo-pcf.o i2c-dev.o i2c-algo-bit.o i2c-core.o \
	i2c-up2000.o i2c-temp-mon.o sensors.o lm75.o adm9240.o 

all: chk_ksrc $(TARGET)  hwmon


%.yy.c: %.lex %.tab.c
	flex -o$@ $<

%.tab.c: %.y
	bison -d $<

hwmon.o: hwmon.c hwmon.h hwmon_cfg.h
	$(CC) -g -c -o $@ $<

hwmon: hwmon_cfg.tab.c hwmon_cfg.yy.c listmgr.o hwmon.o
	$(CC) -g -o $@ hwmon_cfg.tab.c hwmon_cfg.yy.c listmgr.o hwmon.o -lfl


chk_ksrc:
	@if [ x$(KERNSRC) = x/usr/src/linux ]; then \
		echo ========================================= ; \
		echo Using default path, KERNSRC=$(KERNSRC) ; \
		echo ========================================= ; \
	fi

clean:
	rm -f $(TARGET) hwmon
	rm -f *.yy.c *.tab.c *.tab.h

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

install:
	if [ $(PATCHLEVEL) = 2 ] ; then \
		[ -d  /lib/modules/$(VERSTR)/misc ] || mkdir -p /lib/modules/$(VERSTR)/misc ; \
		cp -f $(TARGET) /lib/modules/$(VERSTR)/misc ; \
	elif [ $(PATCHLEVEL) = 4 ] ; then \
		[ -d  /lib/modules/$(VERSTR)/kernel/drivers/misc ] || mkdir -p /lib/modules/$(VERSTR)/kernel/drivers/misc ; \
		cp -f $(TARGET) /lib/modules/$(VERSTR)/kernel/drivers/misc ; \
	fi
	cp -f hwmon /usr/sbin
	cp -f hwmon.d /etc/rc.d/init.d/hwmon
	ln -f /etc/rc.d/init.d/hwmon /etc/rc.d/rc3.d/S99hwmon



