CFLAGS = -m486 -O2 -D__KERNEL__ -DLINUX -Wall -I/usr/src/linux/include
LDFLAGS = -s -N 
CC=gcc

OBJS= linux.o rckt.o
MODOBJS= mod_linux.o rckt.o

all: rocket.o mod_rocket.o setrocket

setrocket: setrocket.c rocket.h
	$(CC) -O2 setrocket.c -o setrocket

install:
	cp setrocket /bin/setrocket
	strip /bin/setrocket
	chmod 755 /bin/setrocket
	if [ ! -d /lib/modules ]; then mkdir -p /lib/modules; fi
	if grep -q kfree_s_R /proc/ksyms ; then \
		echo "Installing modrocket" ; \
		cp mod_rocket.o /lib/modules/rocket.o ; \
	else \
		echo "Installing rocket" ; \
		cp rocket.o /lib/modules/rocket.o ; \
	fi
	if [ ! -d /etc/rc.d ]; then mkdir -p /etc/rc.d; fi
	cp rc.rocket /etc/rc.d

clean:
	rm -f $(OBJS) $(MODOBJS) *~

really-clean: clean
	rm -f *.o comtrol.tar.gz

dist:
	make really-clean
	make all
	make clean
	make tar-file

tar-file:
	tar --create --file - --verbose --exclude comtrol/RCS \
		--exclude comtrol/examples --exclude comtrol/comtrol.tar.gz \
		--exclude comtrol/dist \
		-C .. comtrol | gzip -9 > comtrol.tar.gz

rocket.o: $(OBJS)
	ld -r -o rocket.o $(OBJS)

mod_rocket.o: $(MODOBJS)
	ld -r -o mod_rocket.o $(MODOBJS)

linux.o: linux.c linux.h rckt.c rcktldef.h rckt.h version.h \
	/usr/src/linux/include/linux/version.h

mod_linux.o: linux.c linux.h rckt.c rcktldef.h rckt.h version.h \
	/usr/src/linux/include/linux/version.h
	$(CC) $(CFLAGS) -DMODULE -o mod_linux.o -c linux.c 

rckt.o: rckt.c rcktldef.h rckt.h

