summaryrefslogtreecommitdiff
blob: 424b08d75cc321db0d9f264edef455fd669287d7 (plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
--- a/config.mk
+++ b/config.mk
@@ -4,27 +4,27 @@
 # Customize below to fit your system
 
 # paths
-PREFIX = /usr/local
-MANPREFIX = ${PREFIX}/share/man
+PREFIX = /usr
+MANPREFIX = $(PREFIX)/share/man
 
-X11INC = /usr/X11R6/include
-X11LIB = /usr/X11R6/lib
+X11INC = $(shell $(PKG_CONFIG) --cflags x11)
+X11LIB = $(shell $(PKG_CONFIG) --libs x11)
 
-GTKINC = `pkg-config --cflags gtk+-2.0 webkit-1.0`
-GTKLIB = `pkg-config --libs gtk+-2.0 webkit-1.0`
+GTKINC = $(shell $(PKG_CONFIG) --cflags gtk+-2.0 gthread-2.0 webkit-1.0)
+GTKLIB = $(shell $(PKG_CONFIG) --libs gtk+-2.0 gthread-2.0 webkit-1.0)
 
 # includes and libs
-INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
+INCS = -I. -I/usr/include $(X11INC) $(GTKINC)
+LIBS = $(X11LIB) $(GTKLIB)
 
 # flags
-CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
-CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
-LDFLAGS = -g ${LIBS}
+CPPFLAGS = -DVERSION=\"$(VERSION)\" -D_DEFAULT_SOURCE
+CFLAGS += -std=c99 -pedantic -Wall $(INCS) $(CPPFLAGS)
+LDFLAGS += $(LIBS)
 
 # Solaris
-#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
-#LDFLAGS = ${LIBS}
+#CFLAGS = -fast $(INCS) -DVERSION=\"$(VERSION)\"
+#LDFLAGS = $(LIBS)
 
 # compiler and linker
-CC = cc
+CC ?= gcc
--- a/Makefile
+++ b/Makefile
@@ -4,58 +4,58 @@
 include config.mk
 
 SRC = surf.c
-OBJ = ${SRC:.c=.o}
+OBJ = $(SRC:.c=.o)
 
 all: options surf
 
 options:
 	@echo surf build options:
-	@echo "CFLAGS   = ${CFLAGS}"
-	@echo "LDFLAGS  = ${LDFLAGS}"
-	@echo "CC       = ${CC}"
+	@echo "CFLAGS   = $(CFLAGS)"
+	@echo "LDFLAGS  = $(LDFLAGS)"
+	@echo "CC       = $(CC)"
 
 .c.o:
 	@echo CC $<
-	@${CC} -c ${CFLAGS} $<
+	$(CC) -c $(CFLAGS) $<
 
-${OBJ}: config.h config.mk
+$(OBJ): config.h config.mk
 
 config.h:
 	@echo creating $@ from config.def.h
-	@cp config.def.h $@
+	cp config.def.h $@
 
-surf: ${OBJ}
+surf: $(OBJ)
 	@echo CC -o $@
-	@${CC} -o $@ surf.o ${LDFLAGS}
+	$(CC) -o $@ surf.o $(LDFLAGS)
 
 clean:
 	@echo cleaning
-	@rm -f surf ${OBJ} surf-${VERSION}.tar.gz
+	rm -f surf $(OBJ) surf-$(VERSION).tar.gz
 
 dist: clean
 	@echo creating dist tarball
-	@mkdir -p surf-${VERSION}
-	@cp -R LICENSE Makefile config.mk config.def.h README \
+	mkdir -p surf-$(VERSION)
+	cp -R LICENSE Makefile config.mk config.def.h README \
 		surf-open.sh arg.h TODO.md surf.png \
-		surf.1 ${SRC} surf-${VERSION}
-	@tar -cf surf-${VERSION}.tar surf-${VERSION}
-	@gzip surf-${VERSION}.tar
-	@rm -rf surf-${VERSION}
+		surf.1 $(SRC) surf-$(VERSION)
+	tar -cf surf-$(VERSION).tar surf-$(VERSION)
+	gzip surf-$(VERSION).tar
+	rm -rf surf-$(VERSION)
 
 install: all
-	@echo installing executable file to ${DESTDIR}${PREFIX}/bin
-	@mkdir -p ${DESTDIR}${PREFIX}/bin
-	@cp -f surf ${DESTDIR}${PREFIX}/bin
-	@chmod 755 ${DESTDIR}${PREFIX}/bin/surf
-	@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
-	@mkdir -p ${DESTDIR}${MANPREFIX}/man1
-	@sed "s/VERSION/${VERSION}/g" < surf.1 > ${DESTDIR}${MANPREFIX}/man1/surf.1
-	@chmod 644 ${DESTDIR}${MANPREFIX}/man1/surf.1
+	@echo installing executable file to $(DESTDIR)$(PREFIX)/bin
+	mkdir -p $(DESTDIR)$(PREFIX)/bin
+	cp -f surf $(DESTDIR)$(PREFIX)/bin
+	chmod 755 $(DESTDIR)$(PREFIX)/bin/surf
+	@echo installing manual page to $(DESTDIR)$(MANPREFIX)/man1
+	mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+	sed "s/VERSION/$(VERSION)/g" < surf.1 > $(DESTDIR)$(MANPREFIX)/man1/surf.1
+	chmod 644 $(DESTDIR)$(MANPREFIX)/man1/surf.1
 
 uninstall:
-	@echo removing executable file from ${DESTDIR}${PREFIX}/bin
-	@rm -f ${DESTDIR}${PREFIX}/bin/surf
-	@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
-	@rm -f ${DESTDIR}${MANPREFIX}/man1/surf.1
+	@echo removing executable file from $(DESTDIR)$(PREFIX)/bin
+	rm -f $(DESTDIR)$(PREFIX)/bin/surf
+	@echo removing manual page from $(DESTDIR)$(MANPREFIX)/man1
+	rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1
 
 .PHONY: all options clean dist install uninstall