1.sinclude <bsd.port.pre.mk>
2
3PREFIX?= /usr/local
4LOCALBASE?= /usr/local
5
6SWM_BINDIR?= $(PREFIX)/bin
7SWM_LIBDIR?= $(PREFIX)/lib
8SWM_MANDIR?= $(PREFIX)/man
9
10CC?= cc
11
12LVERS!=	awk -F = '/major/ { printf( "%s.", $$2 ) } /minor/ { printf( "%s", $$2 ) }' ${.CURDIR}/../lib/shlib_version
13BUILDVERSION!= sh "${.CURDIR}/../buildver.sh"
14.if !${BUILDVERSION} == ""
15CFLAGS+= -DSPECTRWM_BUILDSTR=\"$(BUILDVERSION)\"
16.endif
17
18CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g
19CFLAGS+= -I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2
20CFLAGS+= -DSWM_LIB=\"$(SWM_LIBDIR)/libswmhack.so.$(LVERS)\"
21LDADD+= -lutil -L${LOCALBASE}/lib -lX11 -lX11-xcb -lxcb \
22	-lxcb-icccm -lxcb-keysyms -lxcb-randr -lxcb-util -lxcb-xinput -lxcb-xtest -lXft -lXcursor
23
24
25all: spectrwm libswmhack.so.$(LVERS)
26
27spectrwm.c:
28	ln -sf ../spectrwm.c
29	ln -sf ../version.h
30	ln -sf ../linux/pledge.h
31
32swm_hack.c:
33	ln -sf ../lib/swm_hack.c
34
35spectrwm: spectrwm.o
36	$(CC) $(LDFLAGS) $(LDADD) -o ${.TARGET} ${.ALLSRC}
37
38swm_hack.so: swm_hack.c
39	$(CC) $(CFLAGS) -c -shared -fpic -DPIC -o ${.TARGET} ${.ALLSRC}
40
41libswmhack.so.$(LVERS): swm_hack.so
42	$(CC) $(LDFLAGS) -shared -fpic -o ${.TARGET} ${.ALLSRC}
43
44install: all
45	install -m 755 -d $(SWM_BINDIR)
46	install -m 755 -d $(SWM_LIBDIR)
47	install -m 755 -d $(SWM_MANDIR)/man1
48	install -m 755 spectrwm $(SWM_BINDIR)
49	install -m 755 libswmhack.so.$(LVERS) $(SWM_LIBDIR)
50	install -m 644 ../spectrwm.1 $(SWM_MANDIR)/man1/spectrwm.1
51	ln -sf spectrwm $(SWM_BINDIR)/scrotwm
52
53clean:
54	rm -f spectrwm *.o *.so libswmhack.so.* spectrwm.c swm_hack.c version.h pledge.h
55
56.PHONY:	all install clean
57
58.sinclude <bsd.port.post.mk>
59