]> git.ipfire.org Git - thirdparty/cups.git/blame - cgi-bin/Makefile
Full sweep of all Clang warnings, plus some bug fixes for incorrect memcpy usage.
[thirdparty/cups.git] / cgi-bin / Makefile
CommitLineData
ef416fc2 1#
f2d18633 2# "$Id$"
ef416fc2 3#
5a1d7a17 4# CGI makefile for CUPS.
ef416fc2 5#
7e86f2f6 6# Copyright 2007-2014 by Apple Inc.
5a1d7a17 7# Copyright 1997-2006 by Easy Software Products.
ef416fc2 8#
5a1d7a17
MS
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/".
ef416fc2 14#
15
16include ../Makedefs
17
50fe7201
MS
18LIBOBJS = \
19 help-index.o \
20 html.o \
21 ipp-var.o \
22 search.o \
23 template.o \
24 var.o
50fe7201
MS
25OBJS = \
26 $(LIBOBJS) \
50fe7201
MS
27 admin.o \
28 classes.o \
29 help.o \
30 jobs.o \
f11a948a 31 makedocset.o \
50fe7201
MS
32 printers.o \
33 testcgi.o \
34 testhi.o \
1f0275e3
MS
35 testtemplate.o \
36 websearch.o
50fe7201
MS
37CGIS = \
38 admin.cgi \
39 classes.cgi \
40 help.cgi \
41 jobs.cgi \
42 printers.cgi
c9fc04c6 43LIBTARGETS = \
50fe7201 44 libcupscgi.a \
7e86f2f6 45 $(LIBCUPSCGI)
5f64df29
MS
46
47UNITTARGETS = \
50fe7201 48 testcgi \
1f0275e3 49 testhi \
5f64df29 50 testtemplate
c9fc04c6
MS
51
52TARGETS = \
53 $(LIBTARGETS) \
5f64df29 54 $(CGIS)
ef416fc2 55
56
57#
58# Make all targets...
59#
60
61all: $(TARGETS)
62
63
c9fc04c6
MS
64#
65# Make library targets...
66#
67
5f64df29
MS
68libs: $(LIBTARGETS) $(UNITTESTS)
69
70
71#
72# Make unit tests...
73#
74
75unittests: $(UNITTARGETS)
c9fc04c6
MS
76
77
ef416fc2 78#
79# Clean all object files...
80#
81
82clean:
f11a948a 83 $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) makedocset
5a1d7a17 84 $(RM) libcupscgi.so libcupscgi.dylib
ef416fc2 85
86
87#
88# Update dependencies (without system header dependencies...)
89#
90
91depend:
12f89d24 92 $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
ef416fc2 93
94
95#
96# Install all targets...
97#
98
50fe7201
MS
99install: all install-data install-headers install-libs install-exec
100
101
102#
103# Install data files...
104#
105
106install-data:
107
108
109#
110# Install programs...
111#
112
113install-exec:
bd7854cb 114 $(INSTALL_DIR) -m 755 $(SERVERBIN)/cgi-bin
ef416fc2 115 for file in $(CGIS); do \
116 $(INSTALL_BIN) $$file $(SERVERBIN)/cgi-bin; \
117 done
09a101d6 118 if test "x$(SYMROOT)" != "x"; then \
119 $(INSTALL_DIR) $(SYMROOT); \
f8b3a85b 120 for file in $(CGIS); do \
09a101d6 121 cp $$file $(SYMROOT); \
cb7f98ee 122 dsymutil $(SYMROOT)/$$file; \
09a101d6 123 done \
124 fi
ef416fc2 125
126
50fe7201
MS
127#
128# Install headers...
129#
130
131install-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
e6013cfa 142install-libs: $(INSTALLSTATIC)
50fe7201
MS
143 echo Installing libraries in $(LIBDIR)...
144 $(INSTALL_DIR) -m 755 $(LIBDIR)
145 $(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR)
5a1d7a17 146 if test $(LIBCUPSCGI) = "libcupscgi.so.1"; then \
50fe7201
MS
147 $(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
148 $(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
149 fi
150 if test $(LIBCUPSCGI) = "libcupscgi.1.dylib"; then \
50fe7201
MS
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); \
0fa6c7fa 157 dsymutil $(SYMROOT)/$(LIBCUPSCGI); \
50fe7201
MS
158 fi
159
160installstatic:
161 $(INSTALL_DIR) -m 755 $(LIBDIR)
97c9a8d7 162 $(INSTALL_LIB) -m 755 libcupscgi.a $(LIBDIR)
50fe7201 163 $(RANLIB) $(LIBDIR)/libcupscgi.a
97c9a8d7 164 $(CHMOD) 555 $(LIBDIR)/libcupscgi.a
50fe7201 165
50fe7201 166
757d2cad 167#
168# Uninstall all targets...
169#
170
e6013cfa 171uninstall:
757d2cad 172 for file in $(CGIS); do \
173 $(RM) $(SERVERBIN)/cgi-bin/$$file; \
174 done
175 -$(RMDIR) $(SERVERBIN)/cgi-bin
50fe7201
MS
176 $(RM) $(LIBDIR)/libcupscgi.1.dylib
177 $(RM) $(LIBDIR)/libcupscgi.a
178 $(RM) $(LIBDIR)/libcupscgi.dylib
50fe7201
MS
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
50fe7201
MS
186
187#
188# Automatic API help files...
189#
190
191apihelp:
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
f11a948a
MS
197 mxmldoc --tokens help/api-cgi.html api-cgi.xml >../doc/help/api-cgi.tokens
198 $(RM) api-cgi.xml
50fe7201
MS
199
200framedhelp:
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#
5a1d7a17 210# libcupscgi.so.1
50fe7201
MS
211#
212
5a1d7a17 213libcupscgi.so.1: $(LIBOBJS)
50fe7201
MS
214 echo Linking $@...
215 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
216 $(RM) `basename $@ .1`
217 $(LN) $@ `basename $@ .1`
218
219
50fe7201
MS
220#
221# libcupscgi.1.dylib
222#
223
224libcupscgi.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
50fe7201
MS
236#
237# libcupscgi.la
238#
239
240libcupscgi.la: $(LIBOBJS)
241 echo Linking $@...
242 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
243 -version-info 1:0 $(LIBS)
757d2cad 244
245
ef416fc2 246#
50fe7201 247# libcupscgi.a
ef416fc2 248#
249
50fe7201 250libcupscgi.a: $(LIBOBJS)
ef416fc2 251 echo Archiving $@...
252 $(RM) $@
253 $(AR) $(ARFLAGS) $@ $(LIBOBJS)
254 $(RANLIB) $@
255
256
257#
258# admin.cgi
259#
260
50fe7201 261admin.cgi: admin.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
ef416fc2 262 echo Linking $@...
58dc1933 263 $(CC) $(LDFLAGS) -o $@ admin.o -lcupscgi $(LIBS)
ef416fc2 264
265
266#
267# classes.cgi
268#
269
50fe7201 270classes.cgi: classes.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
ef416fc2 271 echo Linking $@...
58dc1933 272 $(CC) $(LDFLAGS) -o $@ classes.o -lcupscgi $(LIBS)
ef416fc2 273
274
275#
276# help.cgi
277#
278
50fe7201 279help.cgi: help.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
ef416fc2 280 echo Linking $@...
58dc1933 281 $(CC) $(LDFLAGS) -o $@ help.o -lcupscgi $(LIBS)
ef416fc2 282
283
284#
285# jobs.cgi
286#
287
50fe7201 288jobs.cgi: jobs.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
ef416fc2 289 echo Linking $@...
58dc1933 290 $(CC) $(LDFLAGS) -o $@ jobs.o -lcupscgi $(LIBS)
ef416fc2 291
292
f11a948a
MS
293#
294# makedocset
295#
296
f8b3a85b 297makedocset: makedocset.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
f11a948a
MS
298 echo Linking $@...
299 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ makedocset.o libcupscgi.a \
f8b3a85b 300 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
f11a948a
MS
301 $(LIBZ) $(LIBGSSAPI)
302
303
ef416fc2 304#
305# printers.cgi
306#
307
50fe7201 308printers.cgi: printers.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
ef416fc2 309 echo Linking $@...
50fe7201 310 $(CC) $(LDFLAGS) -o $@ printers.o -L. -lcupscgi $(LIBS)
ef416fc2 311
312
313#
314# testcgi
315#
316
f8b3a85b 317testcgi: testcgi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 318 echo Linking $@...
c9fc04c6 319 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcgi.o libcupscgi.a \
f8b3a85b 320 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
c168a833 321 $(LIBZ) $(LIBGSSAPI)
c9fc04c6
MS
322 echo Testing CGI API...
323 ./testcgi
ef416fc2 324
325
326#
327# testhi
328#
329
f8b3a85b 330testhi: testhi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
ef416fc2 331 echo Linking $@...
c9fc04c6 332 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhi.o libcupscgi.a \
f8b3a85b 333 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
c168a833 334 $(LIBZ) $(LIBGSSAPI)
c9fc04c6
MS
335 echo Testing help index API...
336 ./testhi
ef416fc2 337
338
bd7854cb 339#
340# testtemplate
341#
342
f8b3a85b 343testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
bd7854cb 344 echo Linking $@...
f8b3a85b 345 $(CC) $(LDFLAGS) -o $@ testtemplate.o libcupscgi.a ../cups/$(LIBCUPSSTATIC) \
c168a833 346 $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ) $(LIBGSSAPI)
bd7854cb 347
348
ef416fc2 349#
350# Dependencies...
351#
352
353include Dependencies
354
355
356#
f2d18633 357# End of "$Id$".
ef416fc2 358#