File: Makefile

package info (click to toggle)
joystick 0.8.0-4
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 80 kB
  • ctags: 68
  • sloc: ansic: 436; makefile: 83; sh: 18
file content (59 lines) | stat: -rw-r--r-- 1,340 bytes parent folder | download
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