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