plug memleak on gnutls_x509_crt_list_import failure
[xombrero.git] / netbsd / Makefile
blob7118caa047477603d1dac08fc1266330e93e8290
1 GTK_VERSION?= gtk3
2 .if ${GTK_VERSION} == "gtk2"
3 LIBS= gtk+-2.0 webkit-1.0
4 .else
5 LIBS= gtk+-3.0 webkitgtk-3.0
6 .endif
7 LIBS+= libsoup-2.4 gnutls gthread-2.0
9 LDADD= -lutil -lgcrypt -lX11
10 GTK_CFLAGS!= pkg-config --cflags $(LIBS)
11 GTK_LDFLAGS!= pkg-config --libs $(LIBS)
12 CFLAGS+= $(GTK_CFLAGS) -O2 -Wall -pthread -I. -I..
13 LDFLAGS+= $(GTK_LDFLAGS) -pthread
15 PREFIX?= /usr/local
16 BINDIR?= $(PREFIX)/bin
17 LIBDIR?= $(PREFIX)/lib
18 MANDIR?= $(PREFIX)/man
19 RESDIR?= $(PREFIX)/share/xombrero
21 CC= cc
23 all: ../javascript.h ../tooltip.h xombrero
25 ../javascript.h: ../js-merge-helper.pl ../hinting.js ../autoscroll.js
26 perl ../js-merge-helper.pl ../hinting.js ../input-focus.js \
27 ../autoscroll.js > ../javascript.h
29 ../tooltip.h: ../ascii2txt.pl ../txt2tooltip.pl ../xombrero.1
30 nroff -c -Tascii -mandoc ../xombrero.1 | \
31 perl ../ascii2txt.pl | \
32 perl ../txt2tooltip.pl > ../tooltip.h
34 xombrero.o: ../xombrero.o
36 unix.o: ../unix.o
38 marco.o: ../marco.o
40 whitelist.o: ../whitelist.o
42 settings.o: ../settings.o
44 about.o: ../about.o
46 inspector.o: ../inspector.o
48 cookie.o: ../cookie.o
50 inputfocus.o: ../inputfocus.o
52 history.o: ../history.o
54 completion.o: ../completion.o
56 externaleditor.o: ../externaleditor.o
58 tldlist.o: ../tldlist.o
60 ../xombrero.o: ../javascript.h ../tooltip.h
62 xombrero: xombrero.o netbsd.o marco.o about.o inspector.o whitelist.o settings.o \
63 cookie.o history.o completion.o inputfocus.o tldlist.o externaleditor.o \
64 unix.o
65 $(CC) $(LDFLAGS) -o $@ *.o $+ $(LDADD)
67 install: all
68 install -m 755 -d $(DESTDIR)$(BINDIR)
69 install -m 755 -d $(DESTDIR)$(LIBDIR)
70 install -m 755 -d $(DESTDIR)$(MANDIR)/man1
71 install -m 755 -d $(DESTDIR)$(RESDIR)
72 install -m 755 xombrero $(DESTDIR)$(BINDIR)
73 install -m 644 ../xombrero.1 $(DESTDIR)$(MANDIR)/man1/xombrero.1
74 install -m 644 ../xombrero.css $(DESTDIR)$(RESDIR)
75 install -m 644 ../xombrero.desktop $(DESTDIR)$(PREFIX)/share/applications
76 install -m 644 ../xombreroicon16.png $(DESTDIR)$(RESDIR)
77 install -m 644 ../xombreroicon32.png $(DESTDIR)$(RESDIR)
78 install -m 644 ../xombreroicon48.png $(DESTDIR)$(RESDIR)
79 install -m 644 ../xombreroicon64.png $(DESTDIR)$(RESDIR)
80 install -m 644 ../xombreroicon128.png $(DESTDIR)$(RESDIR)
81 install -m 644 ../tld-rules $(DESTDIR)$(RESDIR)
82 install -m 644 ../style.css $(DESTDIR)$(RESDIR)
83 install -m 644 ../hsts-preload $(DESTDIR)$(RESDIR)
84 install -m 644 ../torenabled.ico $(DESTDIR)$(RESDIR)
85 install -m 644 ../tordisabled.ico $(DESTDIR)$(RESDIR)
87 clean:
88 rm -f xombrero *.o
89 rm -f javascript.h
90 rm -f tooltip.h
92 .PHONY: all install clean
93 PREFIX?=/usr/local
94 BINDIR=${PREFIX}/bin
96 PROG=xombrero
97 MAN=xombrero.1
99 DEBUG= -g
101 SRCS= cookie.c inspector.c marco.c about.c whitelist.c settings.c inputfocus.c
102 SRCS+= history.c completion.c tldlist.c externaleditor.c unix.c xombrero.c
103 CFLAGS+= -O2 -Wall -Wno-format-extra-args -Wunused
104 CFLAGS+= -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare ${DEBUG}
105 CFLAGS+= -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE
106 CFLAGS+= -I. -I${.CURDIR}
107 LDADD= -lutil -lgcrypt
108 GTK_VERSION ?= gtk3
109 .if ${GTK_VERSION} == "gtk2"
110 LIBS+= gtk+-2.0
111 LIBS+= webkit-1.0
112 .else
113 LIBS+= gtk+-3.0
114 LIBS+= webkitgtk-3.0
115 .endif
116 LIBS+= libsoup-2.4
117 LIBS+= gnutls
118 LIBS+= gthread-2.0
119 GTK_CFLAGS!= pkg-config --cflags $(LIBS)
120 GTK_LDFLAGS!= pkg-config --libs $(LIBS)
121 CFLAGS+= $(GTK_CFLAGS)
122 LDFLAGS+= $(GTK_LDFLAGS)
123 BUILDVERSION != sh "${.CURDIR}/buildver.sh"
124 .if !${BUILDVERSION} == ""
125 CPPFLAGS+= -DXOMBRERO_BUILDSTR=\"$(BUILDVERSION)\"
126 .endif
128 MANDIR= ${PREFIX}/man/man
130 CLEANFILES += ${.CURDIR}/javascript.h javascript.h tooltip.h xombrero.cat1 xombrero.core
132 JSFILES += hinting.js
133 JSFILES += input-focus.js
134 JSFILES += autoscroll.js
136 .for _js in ${JSFILES}
137 JSCURDIR += ${.CURDIR}/${_js}
138 .endfor
140 javascript.h: ${JSFILES} js-merge-helper.pl
141 perl ${.CURDIR}/js-merge-helper.pl \
142 ${JSCURDIR} > javascript.h
144 tooltip.h: ${MAN} ascii2txt.pl txt2tooltip.pl
145 mandoc -Tascii ${.CURDIR}/${MAN} | \
146 perl ${.CURDIR}/ascii2txt.pl | \
147 perl ${.CURDIR}/txt2tooltip.pl > tooltip.h
149 beforeinstall:
150 install -m 755 -d ${PREFIX}/bin
151 install -m 755 -d ${PREFIX}/man/man1/
152 install -m 755 -d ${PREFIX}/share/xombrero
153 install -m 644 $(.CURDIR)/xombrero.css ${PREFIX}/share/xombrero
154 install -m 644 ${.CURDIR}/xombreroicon.png ${PREFIX}/share/xombrero
155 install -m 644 ${.CURDIR}/xombreroicon16.png ${PREFIX}/share/xombrero
156 install -m 644 ${.CURDIR}/xombreroicon32.png ${PREFIX}/share/xombrero
157 install -m 644 ${.CURDIR}/xombreroicon48.png ${PREFIX}/share/xombrero
158 install -m 644 ${.CURDIR}/xombreroicon64.png ${PREFIX}/share/xombrero
159 install -m 644 ${.CURDIR}/xombreroicon128.png ${PREFIX}/share/xombrero
160 install -m 644 ${.CURDIR}/tld-rules ${PREFIX}/share/xombrero
161 install -m 644 ${.CURDIR}/style.css ${PREFIX}/share/xombrero
162 install -m 644 ${.CURDIR}/hsts-preload ${PREFIX}/share/xombrero
164 ${PROG} ${OBJS} beforedepend: javascript.h tooltip.h
166 # clang targets
167 .if ${.TARGETS:M*analyze*}
168 CFLAGS+= -Wdeclaration-after-statement -Wshadow
169 CC=clang
170 CXX=clang++
171 CPP=clang -E
172 CFLAGS+=--analyze
173 .elif ${.TARGETS:M*clang*}
174 CFLAGS+= -Wdeclaration-after-statement -Wshadow
175 CC=clang
176 CXX=clang++
177 CPP=clang -E
178 .endif
180 analyze: all
181 clang: all
183 .include <bsd.prog.mk>