1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
CPPFLAGS = -I. -DLINUX -I/usr/src/kernel-source-$$v/include
VERSIONS = 2.0.27 2.0.30
CFLAGS = -m486 -O2 -g -Wall
CC = gcc
RM = rm
PROGS = js jscal
BINDIR = /usr/bin
MANDIR = /usr/man
MODDIR = /lib/modules/$$v/misc
INCDIR = /usr/include/linux
all: joystick.o $(PROGS)
js: js.o
$(CC) -o $@ $^
jscal: jscal.o
$(CC) -o $@ $^
joystick.o: joystick.c joystick.h
rm -f linux
rm -rf $(VERSIONS)
ln -sf . linux
for v in $(VERSIONS); do \
mkdir $$v; \
$(CC) -D__KERNEL__ -Wall -DMODVERSIONS -DMODULE $(CPPFLAGS) -c -m486 -O6 joystick.c -o $$v/joystick.o; \
done
clean:
-$(RM) -f *.o $(PROGS) *~ core linux
$(RM) -rf $(VERSIONS)
devs:
-rm /dev/js0 /dev/js1
mknod /dev/js0 c 15 0
mknod /dev/js1 c 15 1
install: all install.man
for v in $(VERSIONS); do \
install -d $(DESTDIR)$(MODDIR); \
install $$v/joystick.o $(DESTDIR)$(MODDIR); \
done
install -d $(DESTDIR)$(INCDIR)
install -m 644 joystick.h $(DESTDIR)$(INCDIR)
install -d $(DESTDIR)$(BINDIR)
install -s $(PROGS) $(DESTDIR)$(BINDIR)
install.man:
install -d $(DESTDIR)$(MANDIR)/man4
install -m 644 js.4 $(DESTDIR)$(MANDIR)/man4
dist: clean
tar czf ../`basename \`pwd\``.tar.gz -C .. `basename \`pwd\``
/usr/include/linux/joystick.h: joystick.h
install -m 644 joystick.h /usr/include/linux/joystick.h
js.o: js.c joystick.h
jscal.o: jscal.c joystick.h
|