]> git.ipfire.org Git - thirdparty/cups.git/blob - cgi-bin/Makefile
Move CGI, PPD compiler, and MIME heades to the private headers directory.
[thirdparty/cups.git] / cgi-bin / Makefile
1 #
2 # CGI makefile for CUPS.
3 #
4 # Copyright 2007-2016 by Apple Inc.
5 # Copyright 1997-2006 by Easy Software Products.
6 #
7 # These coded instructions, statements, and computer programs are the
8 # property of Apple Inc. and are protected by Federal copyright
9 # law. Distribution and use rights are outlined in the file "LICENSE.txt"
10 # which should have been included with this file. If this file is
11 # file is missing or damaged, see the license at "http://www.cups.org/".
12 #
13
14 include ../Makedefs
15
16 LIBOBJS = \
17 help-index.o \
18 html.o \
19 ipp-var.o \
20 search.o \
21 template.o \
22 var.o
23 OBJS = \
24 $(LIBOBJS) \
25 admin.o \
26 classes.o \
27 help.o \
28 jobs.o \
29 makedocset.o \
30 printers.o \
31 testcgi.o \
32 testhi.o \
33 testtemplate.o
34 CGIS = \
35 admin.cgi \
36 classes.cgi \
37 help.cgi \
38 jobs.cgi \
39 printers.cgi
40 LIBTARGETS = \
41 libcupscgi.a \
42 $(LIBCUPSCGI)
43
44 UNITTARGETS = \
45 testcgi \
46 testhi \
47 testtemplate
48
49 TARGETS = \
50 $(LIBTARGETS) \
51 $(CGIS)
52
53
54 #
55 # Make all targets...
56 #
57
58 all: $(TARGETS)
59
60
61 #
62 # Make library targets...
63 #
64
65 libs: $(LIBTARGETS) $(UNITTESTS)
66
67
68 #
69 # Make unit tests...
70 #
71
72 unittests: $(UNITTARGETS)
73
74
75 #
76 # Clean all object files...
77 #
78
79 clean:
80 $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) makedocset
81 $(RM) libcupscgi.so libcupscgi.dylib
82
83
84 #
85 # Update dependencies (without system header dependencies...)
86 #
87
88 depend:
89 $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
90
91
92 #
93 # Install all targets...
94 #
95
96 install: all install-data install-headers install-libs install-exec
97
98
99 #
100 # Install data files...
101 #
102
103 install-data:
104
105
106 #
107 # Install programs...
108 #
109
110 install-exec:
111 $(INSTALL_DIR) -m 755 $(SERVERBIN)/cgi-bin
112 for file in $(CGIS); do \
113 $(INSTALL_BIN) $$file $(SERVERBIN)/cgi-bin; \
114 done
115 if test "x$(SYMROOT)" != "x"; then \
116 $(INSTALL_DIR) $(SYMROOT); \
117 for file in $(CGIS); do \
118 cp $$file $(SYMROOT); \
119 dsymutil $(SYMROOT)/$$file; \
120 done \
121 fi
122
123
124 #
125 # Install headers...
126 #
127
128 install-headers:
129 if test "x$(privateinclude)" != x; then \
130 echo Installing private header files into $(PRIVATEINCLUDE)...; \
131 $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
132 for file in cgi.h help-index.h; do \
133 $(INSTALL_DATA) $$file $(PRIVATEINCLUDE); \
134 done; \
135 fi
136
137
138 #
139 # Install libraries...
140 #
141
142 install-libs: $(INSTALLSTATIC)
143 echo Installing libraries in $(LIBDIR)...
144 $(INSTALL_DIR) -m 755 $(LIBDIR)
145 $(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR)
146 if test $(LIBCUPSCGI) = "libcupscgi.so.1"; then \
147 $(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
148 $(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
149 fi
150 if test $(LIBCUPSCGI) = "libcupscgi.1.dylib"; then \
151 $(RM) $(LIBDIR)/libcupscgi.dylib; \
152 $(LN) $(LIBCUPSCGI) $(LIBDIR)/libcupscgi.dylib; \
153 fi
154 if test "x$(SYMROOT)" != "x"; then \
155 $(INSTALL_DIR) $(SYMROOT); \
156 cp $(LIBCUPSCGI) $(SYMROOT); \
157 dsymutil $(SYMROOT)/$(LIBCUPSCGI); \
158 fi
159
160 installstatic:
161 $(INSTALL_DIR) -m 755 $(LIBDIR)
162 $(INSTALL_LIB) -m 755 libcupscgi.a $(LIBDIR)
163 $(RANLIB) $(LIBDIR)/libcupscgi.a
164 $(CHMOD) 555 $(LIBDIR)/libcupscgi.a
165
166
167 #
168 # Uninstall all targets...
169 #
170
171 uninstall:
172 for file in $(CGIS); do \
173 $(RM) $(SERVERBIN)/cgi-bin/$$file; \
174 done
175 -$(RMDIR) $(SERVERBIN)/cgi-bin
176 $(RM) $(LIBDIR)/libcupscgi.1.dylib
177 $(RM) $(LIBDIR)/libcupscgi.a
178 $(RM) $(LIBDIR)/libcupscgi.dylib
179 $(RM) $(LIBDIR)/libcupscgi.so
180 $(RM) $(LIBDIR)/libcupscgi.so.1
181 -$(RMDIR) $(LIBDIR)
182 $(RM) $(INCLUDEDIR)/cups/cgi.h
183 $(RM) $(INCLUDEDIR)/cups/help-index.h
184 -$(RMDIR) $(INCLUDEDIR)/cups
185
186
187 #
188 # Automatic API help files...
189 #
190
191 apihelp:
192 mxmldoc --section "Programming" \
193 --title "CGI API" \
194 --css ../doc/cups-printable.css \
195 --header api-cgi.header --intro api-cgi.shtml \
196 cgi.h help-index.h $(LIBOBJS:.o=.c) >../doc/help/api-cgi.html
197 mxmldoc --tokens help/api-cgi.html api-cgi.xml >../doc/help/api-cgi.tokens
198 $(RM) api-cgi.xml
199
200 framedhelp:
201 mxmldoc --framed api-cgi \
202 --section "Programming" \
203 --title "CGI API" \
204 --css ../doc/cups-printable.css \
205 --header api-cgi.header --intro api-cgi.shtml \
206 cgi.h help-index.h $(LIBOBJS:.o=.c)
207
208
209 #
210 # libcupscgi.so.1
211 #
212
213 libcupscgi.so.1: $(LIBOBJS)
214 echo Linking $@...
215 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
216 $(RM) `basename $@ .1`
217 $(LN) $@ `basename $@ .1`
218
219
220 #
221 # libcupscgi.1.dylib
222 #
223
224 libcupscgi.1.dylib: $(LIBOBJS) libcupscgi.exp
225 echo Linking $@...
226 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
227 -install_name $(libdir)/$@ \
228 -current_version 1.0.0 \
229 -compatibility_version 1.0.0 \
230 -exported_symbols_list libcupscgi.exp \
231 $(LIBOBJS) $(LIBS)
232 $(RM) libcupscgi.dylib
233 $(LN) $@ libcupscgi.dylib
234
235
236 #
237 # libcupscgi.la
238 #
239
240 libcupscgi.la: $(LIBOBJS)
241 echo Linking $@...
242 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
243 -version-info 1:0 $(LIBS)
244
245
246 #
247 # libcupscgi.a
248 #
249
250 libcupscgi.a: $(LIBOBJS)
251 echo Archiving $@...
252 $(RM) $@
253 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
254 $(RANLIB) $@
255
256
257 #
258 # admin.cgi
259 #
260
261 admin.cgi: admin.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
262 echo Linking $@...
263 $(CC) $(LDFLAGS) -o $@ admin.o -lcupscgi $(LIBS)
264
265
266 #
267 # classes.cgi
268 #
269
270 classes.cgi: classes.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
271 echo Linking $@...
272 $(CC) $(LDFLAGS) -o $@ classes.o -lcupscgi $(LIBS)
273
274
275 #
276 # help.cgi
277 #
278
279 help.cgi: help.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
280 echo Linking $@...
281 $(CC) $(LDFLAGS) -o $@ help.o -lcupscgi $(LIBS)
282
283
284 #
285 # jobs.cgi
286 #
287
288 jobs.cgi: jobs.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
289 echo Linking $@...
290 $(CC) $(LDFLAGS) -o $@ jobs.o -lcupscgi $(LIBS)
291
292
293 #
294 # makedocset
295 #
296
297 makedocset: makedocset.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
298 echo Linking $@...
299 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ makedocset.o libcupscgi.a \
300 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
301 $(LIBZ) $(LIBGSSAPI)
302
303
304 #
305 # printers.cgi
306 #
307
308 printers.cgi: printers.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
309 echo Linking $@...
310 $(CC) $(LDFLAGS) -o $@ printers.o -L. -lcupscgi $(LIBS)
311
312
313 #
314 # testcgi
315 #
316
317 testcgi: testcgi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
318 echo Linking $@...
319 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcgi.o libcupscgi.a \
320 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
321 $(LIBZ) $(LIBGSSAPI)
322 echo Testing CGI API...
323 ./testcgi
324
325
326 #
327 # testhi
328 #
329
330 testhi: testhi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
331 echo Linking $@...
332 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhi.o libcupscgi.a \
333 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
334 $(LIBZ) $(LIBGSSAPI)
335 echo Testing help index API...
336 ./testhi
337
338
339 #
340 # testtemplate
341 #
342
343 testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
344 echo Linking $@...
345 $(CC) $(LDFLAGS) -o $@ testtemplate.o libcupscgi.a ../cups/$(LIBCUPSSTATIC) \
346 $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ) $(LIBGSSAPI)
347
348
349 #
350 # Dependencies...
351 #
352
353 include Dependencies