]> code.delx.au - spectrwm/blob - osx/Makefile
f52fd9c29ce6e2081d03502a5b487b927ec2145d
[spectrwm] / osx / Makefile
1 PREFIX?= /usr/local
2 BINDIR?= $(PREFIX)/bin
3 LIBDIR?= $(PREFIX)/lib
4 MANDIR?= $(PREFIX)/share/man
5
6 BUILDVERSION = $(shell sh $(CURDIR)/../buildver.sh)
7
8 # To use xquartz, uncomment the following three lines.
9 INCFLAGS+= -I/opt/X11/include -I/opt/X11/include/freetype2/
10 LDADD+= -L/opt/X11/lib -lX11 -lXcursor -lXft
11
12 # To use homebrew, uncomment the following three lines.
13 #INCFLAGS+= -I/opt/X11/include
14 #LDADD+= -lX11 -lXcursor -lXft -L/opt/X11/lib
15 #INCFLAGS+= -I/usr/local/Cellar/freetype/2.5.0.1/include/freetype2
16
17 # To use homebrew , comment out the following two lines.
18 #INCFLAGS+= -I/opt/local/include/freetype2 -I/opt/local/include
19 #LDADD+= -L/opt/local/lib -lX11 -lXcursor -lXft
20
21 LDADD+= -lxcb-keysyms -lxcb-util -lxcb-randr -lX11-xcb -lxcb-xtest -lxcb -lxcb-icccm
22
23 LVERS= $(shell . ../lib/shlib_version; echo $$major.$$minor)
24
25 CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g
26 CFLAGS+= -O2 -D_GNU_SOURCE -D__OSX__ -I. -I.. ${INCFLAGS}
27 CFLAGS+= -DSWM_LIB=\"$(LIBDIR)/libswmhack.so.$(LVERS)\"
28 ifneq ("${BUILDVERSION}", "")
29 CFLAGS+= -DSPECTRWM_BUILDSTR=\"$(BUILDVERSION)\"
30 endif
31
32 CC?= cc
33
34 all: spectrwm libswmhack.so.$(LVERS)
35
36 spectrwm.c:
37 ln -sf ../linux/tree.h
38 ln -sf ../spectrwm.c
39 ln -sf ../version.h
40
41 swm_hack.c:
42 ln -sf ../lib/swm_hack.c
43
44 spectrwm: spectrwm.o osx.o
45 $(CC) $(LDFLAGS) -o $@ $+ $(LDADD)
46
47 %.so: %.c
48 $(CC) $(CFLAGS) -c -fpic -DPIC $+ -o $@
49
50 libswmhack.so.$(LVERS): swm_hack.so
51 $(CC) $(LDFLAGS) -shared -fpic -o libswmhack.so.$(LVERS) swm_hack.so $(LDADD)
52 # replace above line with this for OSX 10.5
53 # $(CC) -shared -bundle -fpic -o libswmhack.so.$(LVERS) $(LDADD) swm_hack.so
54
55 install: all
56 install -m 755 -d $(DESTDIR)$(BINDIR)
57 install -m 755 -d $(DESTDIR)$(LIBDIR)
58 install -m 755 -d $(DESTDIR)$(MANDIR)/man1
59 install -m 755 spectrwm $(DESTDIR)$(BINDIR)
60 install -m 755 libswmhack.so.$(LVERS) $(DESTDIR)$(LIBDIR)
61 install -m 644 ../spectrwm.1 $(DESTDIR)$(MANDIR)/man1/spectrwm.1
62 install -m 644 ../spectrwm_es.1 $(DESTDIR)$(MANDIR)/man1/spectrwm_es.1
63 install -m 644 ../spectrwm_it.1 $(DESTDIR)$(MANDIR)/man1/spectrwm_it.1
64 install -m 644 ../spectrwm_pt.1 $(DESTDIR)$(MANDIR)/man1/spectrwm_pt.1
65 install -m 644 ../spectrwm_ru.1 $(DESTDIR)$(MANDIR)/man1/spectrwm_ru.1
66 ln -sf spectrwm $(DESTDIR)$(BINDIR)/scrotwm
67 ln -sf libswmhack.so.0.0 $(DESTDIR)$(LIBDIR)/libswmhack.so.0
68 ln -sf libswmhack.so.0.0 $(DESTDIR)$(LIBDIR)/libswmhack.so
69
70 clean:
71 rm -f spectrwm *.o *.so libswmhack.so.* spectrwm.c swm_hack.c tree.h version.h
72
73 .PHONY: all install clean