]> git.sur5r.net Git - i3/i3/blob - Makefile
Use -idirafter which is the same as -I but first looks at the standard system headers
[i3/i3] / Makefile
1 UNAME=$(shell uname)
2 DEBUG=1
3 INSTALL=install
4
5 CFLAGS += -std=c99
6 CFLAGS += -pipe
7 CFLAGS += -Wall
8 CFLAGS += -Wunused
9 CFLAGS += -Iinclude
10 CFLAGS += -I/usr/local/include
11
12 LDFLAGS += -lxcb-wm
13 #LDFLAGS += -lxcb-keysyms
14 LDFLAGS += -lxcb-xinerama
15 LDFLAGS += -lX11
16 LDFLAGS += -L/usr/local/lib -L/usr/pkg/lib
17 ifeq ($(UNAME),NetBSD)
18 CFLAGS += -idirafter /usr/pkg/include
19 LDFLAGS += -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/pkg/lib
20 endif
21
22 ifeq ($(UNAME),Linux)
23 CFLAGS += -D_GNU_SOURCE
24 endif
25
26 ifeq ($(DEBUG),1)
27 # Extended debugging flags, macros shall be available in gcc
28 CFLAGS += -gdwarf-2
29 CFLAGS += -g3
30 else
31 CFLAGS += -O2
32 endif
33
34 FILES=$(patsubst %.c,%.o,$(wildcard src/*.c))
35 HEADERS=$(wildcard include/*.h)
36
37 src/%.o: src/%.c ${HEADERS}
38         $(CC) $(CFLAGS) -c -o $@ $<
39
40 all: ${FILES}
41         $(CC) -o i3 ${FILES} $(LDFLAGS)
42
43 install: all
44         $(INSTALL) -d -m 0755 $(DESTDIR)/usr/bin
45         $(INSTALL) -d -m 0755 $(DESTDIR)/etc/i3
46         $(INSTALL) -m 0755 i3 $(DESTDIR)/usr/bin/
47         test -e $(DESTDIR)/etc/i3/config || $(INSTALL) -m 0644 i3.config $(DESTDIR)/etc/i3/config
48
49 clean:
50         rm -f src/*.o
51
52 distclean: clean
53         rm -f i3