1# 2# "$Id: Makefile 11791 2014-04-02 16:56:54Z msweet $" 3# 4# CGI makefile for CUPS. 5# 6# Copyright 2007-2014 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 16include ../Makedefs 17 18LIBOBJS = \ 19 help-index.o \ 20 html.o \ 21 ipp-var.o \ 22 search.o \ 23 template.o \ 24 var.o 25OBJS = \ 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 36CGIS = \ 37 admin.cgi \ 38 classes.cgi \ 39 help.cgi \ 40 jobs.cgi \ 41 printers.cgi 42LIBTARGETS = \ 43 libcupscgi.a \ 44 $(LIBCUPSCGI) 45 46UNITTARGETS = \ 47 testcgi \ 48 testhi \ 49 testtemplate 50 51TARGETS = \ 52 $(LIBTARGETS) \ 53 $(CGIS) 54 55 56# 57# Make all targets... 58# 59 60all: $(TARGETS) 61 62 63# 64# Make library targets... 65# 66 67libs: $(LIBTARGETS) $(UNITTESTS) 68 69 70# 71# Make unit tests... 72# 73 74unittests: $(UNITTARGETS) 75 76 77# 78# Clean all object files... 79# 80 81clean: 82 $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) makedocset 83 $(RM) libcupscgi.so libcupscgi.dylib 84 85 86# 87# Update dependencies (without system header dependencies...) 88# 89 90depend: 91 $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies 92 93 94# 95# Install all targets... 96# 97 98install: all install-data install-headers install-libs install-exec 99 100 101# 102# Install data files... 103# 104 105install-data: 106 107 108# 109# Install programs... 110# 111 112install-exec: 113 $(INSTALL_DIR) -m 755 $(SERVERBIN)/cgi-bin 114 for file in $(CGIS); do \ 115 $(INSTALL_BIN) $$file $(SERVERBIN)/cgi-bin; \ 116 done 117 if test "x$(SYMROOT)" != "x"; then \ 118 $(INSTALL_DIR) $(SYMROOT); \ 119 for file in $(CGIS); do \ 120 cp $$file $(SYMROOT); \ 121 dsymutil $(SYMROOT)/$$file; \ 122 done \ 123 fi 124 125 126# 127# Install headers... 128# 129 130install-headers: 131 echo Installing header files in $(INCLUDEDIR)/cups... 132 $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups 133 $(INSTALL_DATA) cgi.h $(INCLUDEDIR)/cups 134 $(INSTALL_DATA) help-index.h $(INCLUDEDIR)/cups 135 136 137# 138# Install libraries... 139# 140 141install-libs: $(INSTALLSTATIC) 142 echo Installing libraries in $(LIBDIR)... 143 $(INSTALL_DIR) -m 755 $(LIBDIR) 144 $(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR) 145 if test $(LIBCUPSCGI) = "libcupscgi.so.1"; then \ 146 $(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \ 147 $(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \ 148 fi 149 if test $(LIBCUPSCGI) = "libcupscgi.1.dylib"; then \ 150 $(RM) $(LIBDIR)/libcupscgi.dylib; \ 151 $(LN) $(LIBCUPSCGI) $(LIBDIR)/libcupscgi.dylib; \ 152 fi 153 if test "x$(SYMROOT)" != "x"; then \ 154 $(INSTALL_DIR) $(SYMROOT); \ 155 cp $(LIBCUPSCGI) $(SYMROOT); \ 156 dsymutil $(SYMROOT)/$(LIBCUPSCGI); \ 157 fi 158 159installstatic: 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 170uninstall: 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.so 179 $(RM) $(LIBDIR)/libcupscgi.so.1 180 -$(RMDIR) $(LIBDIR) 181 $(RM) $(INCLUDEDIR)/cups/cgi.h 182 $(RM) $(INCLUDEDIR)/cups/help-index.h 183 -$(RMDIR) $(INCLUDEDIR)/cups 184 185 186# 187# Automatic API help files... 188# 189 190apihelp: 191 mxmldoc --section "Programming" \ 192 --title "CGI API" \ 193 --css ../doc/cups-printable.css \ 194 --header api-cgi.header --intro api-cgi.shtml \ 195 cgi.h help-index.h $(LIBOBJS:.o=.c) >../doc/help/api-cgi.html 196 mxmldoc --tokens help/api-cgi.html api-cgi.xml >../doc/help/api-cgi.tokens 197 $(RM) api-cgi.xml 198 199framedhelp: 200 mxmldoc --framed api-cgi \ 201 --section "Programming" \ 202 --title "CGI API" \ 203 --css ../doc/cups-printable.css \ 204 --header api-cgi.header --intro api-cgi.shtml \ 205 cgi.h help-index.h $(LIBOBJS:.o=.c) 206 207 208# 209# libcupscgi.so.1 210# 211 212libcupscgi.so.1: $(LIBOBJS) 213 echo Linking $@... 214 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS) 215 $(RM) `basename $@ .1` 216 $(LN) $@ `basename $@ .1` 217 218 219# 220# libcupscgi.1.dylib 221# 222 223libcupscgi.1.dylib: $(LIBOBJS) libcupscgi.exp 224 echo Linking $@... 225 $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \ 226 -install_name $(libdir)/$@ \ 227 -current_version 1.0.0 \ 228 -compatibility_version 1.0.0 \ 229 -exported_symbols_list libcupscgi.exp \ 230 $(LIBOBJS) $(LIBS) 231 $(RM) libcupscgi.dylib 232 $(LN) $@ libcupscgi.dylib 233 234 235# 236# libcupscgi.la 237# 238 239libcupscgi.la: $(LIBOBJS) 240 echo Linking $@... 241 $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \ 242 -version-info 1:0 $(LIBS) 243 244 245# 246# libcupscgi.a 247# 248 249libcupscgi.a: $(LIBOBJS) 250 echo Archiving $@... 251 $(RM) $@ 252 $(AR) $(ARFLAGS) $@ $(LIBOBJS) 253 $(RANLIB) $@ 254 255 256# 257# admin.cgi 258# 259 260admin.cgi: admin.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) 261 echo Linking $@... 262 $(CC) $(LDFLAGS) -o $@ admin.o -lcupscgi $(LIBS) 263 264 265# 266# classes.cgi 267# 268 269classes.cgi: classes.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) 270 echo Linking $@... 271 $(CC) $(LDFLAGS) -o $@ classes.o -lcupscgi $(LIBS) 272 273 274# 275# help.cgi 276# 277 278help.cgi: help.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) 279 echo Linking $@... 280 $(CC) $(LDFLAGS) -o $@ help.o -lcupscgi $(LIBS) 281 282 283# 284# jobs.cgi 285# 286 287jobs.cgi: jobs.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) 288 echo Linking $@... 289 $(CC) $(LDFLAGS) -o $@ jobs.o -lcupscgi $(LIBS) 290 291 292# 293# makedocset 294# 295 296makedocset: makedocset.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC) 297 echo Linking $@... 298 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ makedocset.o libcupscgi.a \ 299 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \ 300 $(LIBZ) $(LIBGSSAPI) 301 302 303# 304# printers.cgi 305# 306 307printers.cgi: printers.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) 308 echo Linking $@... 309 $(CC) $(LDFLAGS) -o $@ printers.o -L. -lcupscgi $(LIBS) 310 311 312# 313# testcgi 314# 315 316testcgi: testcgi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC) 317 echo Linking $@... 318 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcgi.o libcupscgi.a \ 319 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \ 320 $(LIBZ) $(LIBGSSAPI) 321 echo Testing CGI API... 322 ./testcgi 323 324 325# 326# testhi 327# 328 329testhi: testhi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC) 330 echo Linking $@... 331 $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhi.o libcupscgi.a \ 332 ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \ 333 $(LIBZ) $(LIBGSSAPI) 334 echo Testing help index API... 335 ./testhi 336 337 338# 339# testtemplate 340# 341 342testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC) 343 echo Linking $@... 344 $(CC) $(LDFLAGS) -o $@ testtemplate.o libcupscgi.a ../cups/$(LIBCUPSSTATIC) \ 345 $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ) $(LIBGSSAPI) 346 347 348# 349# Dependencies... 350# 351 352include Dependencies 353 354 355# 356# End of "$Id: Makefile 11791 2014-04-02 16:56:54Z msweet $". 357# 358