CC=gcc
LD=ld
CFLAGS := -Wall
MODCFLAGS := -Wall -Wstrict-prototypes -fomit-frame-pointer\
    -fno-strict-aliasing -fno-common -pipe\
    -I./ -DMODULE -D__KERNEL__ -DLINUX -O2 -I/usr/src/linux/include

RUNNING_KERNEL := `uname -r`
BASENAME := erup

all: $(BASENAME).o $(BASENAME)mgr

$(BASENAME).o: $(BASENAME)_core.o $(BASENAME)_sys.o
	$(LD) -r -o $@ $^

$(BASENAME)_core.o: $(BASENAME)_core.c $(BASENAME).h $(BASENAME)_conf.h
	$(CC) $(MODCFLAGS) -c $<

$(BASENAME)_sys.o: $(BASENAME)_sys.c $(BASENAME).h $(BASENAME)_conf.h
	$(CC) $(MODCFLAGS) -c $<

$(BASENAME)_conf.h:	$(BASENAME)conf
	perl $(BASENAME)conf

install: $(BASENAME).o $(BASENAME)mgr
	cp $(BASENAME).o /lib/modules/$(RUNNING_KERNEL)/misc/ || \
	cp $(BASENAME).o /lib/modules/$(RUNNING_KERNEL)/kernel/
	cp -f $(BASENAME)mgr /usr/sbin/
	depmod -a
	modprobe $(BASENAME)

clean:
	rm -f *.o $(BASENAME)_conf.h
