1all: xglurbules xglurbules-noshm
2
3CC ?= gcc
4
5INSTALL=/usr/bin/install
6
7.ifndef X11BASE
8X11BASE=/usr/local
9.endif
10
11.ifndef LOCALBASE
12LOCALBASE=/usr/local
13.endif
14
15.ifndef PREFIX
16PREFIX=${X11BASE}
17.endif
18
19BIN_DIR=${PREFIX}/bin
20MAN_DIR=${PREFIX}/man/man1
21
22COMPRESS=/usr/bin/gzip
23STRIP= /usr/bin/true
24
25MAN_FILE=xglurbules.1.gz
26
27.ifdef NOMANCOMPRESSED
28MAN_FILE=xglurbules.1
29.endif
30
31XINCS= -I${X11BASE}/include
32XSHM = -lXext
33XLIBS= -L${X11BASE}/lib -lX11 -lm -L${LOCALBASE}/lib
34LIBS = ${XLIBS}
35
36CFLAGS+= ${XINCS}
37
38clean: tagsclean profclean
39	rm -f xglurbules xglurbules-noshm *.o glurbules.gmon xglurbules.1.gz
40
41tagsclean:
42	rm -f GPATH GRTAGS GSYMS GTAGS TAGS tags
43
44profclean:
45	rm -f *.gmon
46
47depend:
48	gcc -E -MM *.c > .depend
49
50install: xglurbules xglurbules-noshm ${MAN_FILE}
51	${INSTALL} xglurbules $(DESTDIR)${BIN_DIR}
52	${INSTALL} xglurbules-noshm $(DESTDIR)${BIN_DIR}
53	${INSTALL} ${MAN_FILE} $(DESTDIR)${MAN_DIR}
54
55xglurbules.1.gz: xglurbules.1
56	${COMPRESS} xglurbules.1 -c > xglurbules.1.gz
57
58# Main Targets :
59xglurbules: shm-main.o psys2d.o shm-gfx-x.o Makefile
60	${CC} ${CFLAGS} shm-main.o psys2d.o shm-gfx-x.o -o xglurbules ${LIBS} ${XSHM}
61	${STRIP} xglurbules
62
63xglurbules-noshm: main.o psys2d.o gfx-x.o Makefile
64	${CC} ${CFLAGS} main.o psys2d.o gfx-x.o -o xglurbules-noshm ${LIBS}
65	${STRIP} xglurbules-noshm
66
67# Stuff depended on by above (should rulify these)
68main.o: main.[ch] Makefile gfx-x.h
69	${CC} ${CFLAGS} -c main.c -o main.o
70
71psys2d.o: psys2d.[ch] Makefile
72	${CC} ${CFLAGS} -c psys2d.c -o psys2d.o
73
74psys3d.o: psys3d.[ch] Makefile
75	${CC} ${CFLAGS} -c psys3d.c -o psys3d.o
76
77# Graphics routines
78gfx-x.o: gfx-x.[ch] Makefile
79	${CC} ${CFLAGS} -c gfx-x.c -o gfx-x.o
80
81shm-gfx-x.o: gfx-x.[ch] Makefile
82	${CC} ${CFLAGS} -c gfx-x.c -o shm-gfx-x.o -DUSE_XSHM_EXT
83
84shm-main.o: main.[ch] Makefile
85	${CC} ${CFLAGS} -c main.c -o shm-main.o -DUSE_XSHM_EXT
86
87
88