]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cgi-bin/Makefile
License change: Apache License, Version 2.0.
[thirdparty/cups.git] / cgi-bin / Makefile
index 5637c900f052e3ba55dbe9cd179f9395070a2925..5b0154aad4a4587a9c020ac4e581c06dcf20776a 100644 (file)
@@ -1,25 +1,50 @@
 #
-# "$Id: Makefile 6649 2007-07-11 21:46:42Z mike $"
+# CGI makefile for CUPS.
 #
-#   CGI makefile for the Common UNIX Printing System (CUPS).
+# Copyright 2007-2017 by Apple Inc.
+# Copyright 1997-2006 by Easy Software Products.
 #
-#   Copyright 2007 by Apple Inc.
-#   Copyright 1997-2006 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
+# Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
 #
 
 include ../Makedefs
 
-CGIS   =       admin.cgi classes.cgi help.cgi jobs.cgi printers.cgi
-TARGETS        =       libcgi.a $(CGIS) testcgi testhi testtemplate
-LIBOBJS        =       help-index.o html.o ipp-var.o search.o template.o var.o
-OBJS   =       $(LIBOBJS) admin.o classes.o help.o \
-               jobs.o printers.o testcgi.o testhi.o testtemplate.o
+LIBOBJS        =       \
+               help-index.o \
+               html.o \
+               ipp-var.o \
+               search.o \
+               template.o \
+               var.o
+OBJS   =       \
+               $(LIBOBJS) \
+               admin.o \
+               classes.o \
+               help.o \
+               jobs.o \
+               makedocset.o \
+               printers.o \
+               testcgi.o \
+               testhi.o \
+               testtemplate.o
+CGIS   =       \
+               admin.cgi \
+               classes.cgi \
+               help.cgi \
+               jobs.cgi \
+               printers.cgi
+LIBTARGETS =   \
+               libcupscgi.a \
+               $(LIBCUPSCGI)
+
+UNITTARGETS =  \
+               testcgi \
+               testhi \
+               testtemplate
+
+TARGETS        =       \
+               $(LIBTARGETS) \
+               $(CGIS)
 
 
 #
@@ -29,12 +54,27 @@ OBJS        =       $(LIBOBJS) admin.o classes.o help.o \
 all:   $(TARGETS)
 
 
+#
+# Make library targets...
+#
+
+libs:          $(LIBTARGETS) $(UNITTESTS)
+
+
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTARGETS)
+
+
 #
 # Clean all object files...
 #
 
 clean:
-       $(RM) $(OBJS) $(TARGETS)
+       $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) makedocset
+       $(RM) libcupscgi.so libcupscgi.dylib
 
 
 #
@@ -42,26 +82,84 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
 # Install all targets...
 #
 
-install:       all
+install:       all install-data install-headers install-libs install-exec
+
+
+#
+# Install data files...
+#
+
+install-data:
+
+
+#
+# Install programs...
+#
+
+install-exec:
        $(INSTALL_DIR) -m 755 $(SERVERBIN)/cgi-bin
        for file in $(CGIS); do \
                $(INSTALL_BIN) $$file $(SERVERBIN)/cgi-bin; \
        done
        if test "x$(SYMROOT)" != "x"; then \
                $(INSTALL_DIR) $(SYMROOT); \
-               for file in $(TARGETS); do \
+               for file in $(CGIS); do \
                        cp $$file $(SYMROOT); \
+                       dsymutil $(SYMROOT)/$$file; \
                done \
        fi
 
 
+#
+# Install headers...
+#
+
+install-headers:
+       if test "x$(privateinclude)" != x; then \
+               echo Installing private header files into $(PRIVATEINCLUDE)...; \
+               $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
+               for file in cgi.h help-index.h; do \
+                       $(INSTALL_DATA) $$file $(PRIVATEINCLUDE); \
+               done; \
+       fi
+
+
+#
+# Install libraries...
+#
+
+install-libs: $(INSTALLSTATIC)
+       echo Installing libraries in $(LIBDIR)...
+       $(INSTALL_DIR) -m 755 $(LIBDIR)
+       $(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR)
+       if test $(LIBCUPSCGI) = "libcupscgi.so.1"; then \
+               $(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
+               $(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
+       fi
+       if test $(LIBCUPSCGI) = "libcupscgi.1.dylib"; then \
+               $(RM) $(LIBDIR)/libcupscgi.dylib; \
+               $(LN) $(LIBCUPSCGI) $(LIBDIR)/libcupscgi.dylib; \
+       fi
+       if test "x$(SYMROOT)" != "x"; then \
+               $(INSTALL_DIR) $(SYMROOT); \
+               cp $(LIBCUPSCGI) $(SYMROOT); \
+               dsymutil $(SYMROOT)/$(LIBCUPSCGI); \
+       fi
+
+installstatic:
+       $(INSTALL_DIR) -m 755 $(LIBDIR)
+       $(INSTALL_LIB) -m 755 libcupscgi.a $(LIBDIR)
+       $(RANLIB) $(LIBDIR)/libcupscgi.a
+       $(CHMOD) 555 $(LIBDIR)/libcupscgi.a
+
+
 #
 # Uninstall all targets...
 #
@@ -71,13 +169,61 @@ uninstall:
                $(RM) $(SERVERBIN)/cgi-bin/$$file; \
        done
        -$(RMDIR) $(SERVERBIN)/cgi-bin
+       $(RM) $(LIBDIR)/libcupscgi.1.dylib
+       $(RM) $(LIBDIR)/libcupscgi.a
+       $(RM) $(LIBDIR)/libcupscgi.dylib
+       $(RM) $(LIBDIR)/libcupscgi.so
+       $(RM) $(LIBDIR)/libcupscgi.so.1
+       -$(RMDIR) $(LIBDIR)
+       -if test "x$(privateinclude)" != x; then \
+               $(RM) $(PRIVATEINCLUDE)/cgi.h; \
+               $(RM) $(PRIVATEINCLUDE)/help-index.h; \
+               $(RMDIR) $(PRIVATEINCLUDE); \
+       fi
+
+
+#
+# libcupscgi.so.1
+#
+
+libcupscgi.so.1:       $(LIBOBJS)
+       echo Linking $@...
+       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
+       $(RM) `basename $@ .1`
+       $(LN) $@ `basename $@ .1`
+
+
+#
+# libcupscgi.1.dylib
+#
+
+libcupscgi.1.dylib:    $(LIBOBJS) libcupscgi.exp
+       echo Linking $@...
+       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
+               -install_name $(libdir)/$@ \
+               -current_version 1.0.0 \
+               -compatibility_version 1.0.0 \
+               -exported_symbols_list libcupscgi.exp \
+               $(LIBOBJS) $(LIBS)
+       $(RM) libcupscgi.dylib
+       $(LN) $@ libcupscgi.dylib
 
 
 #
-# libcgi.a
+# libcupscgi.la
 #
 
-libcgi.a:      $(LIBOBJS)
+libcupscgi.la:    $(LIBOBJS)
+       echo Linking $@...
+       $(LD_CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
+               -version-info 1:0 $(LIBS)
+
+
+#
+# libcupscgi.a
+#
+
+libcupscgi.a:  $(LIBOBJS)
        echo Archiving $@...
        $(RM) $@
        $(AR) $(ARFLAGS) $@ $(LIBOBJS)
@@ -88,75 +234,92 @@ libcgi.a:  $(LIBOBJS)
 # admin.cgi
 #
 
-admin.cgi:     admin.o ../Makedefs ../cups/$(LIBCUPS) libcgi.a
+admin.cgi:     admin.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ admin.o libcgi.a $(LIBS)
+       $(LD_CC) $(LDFLAGS) -o $@ admin.o -lcupscgi $(LIBS)
 
 
 #
 # classes.cgi
 #
 
-classes.cgi:   classes.o ../Makedefs ../cups/$(LIBCUPS) libcgi.a
+classes.cgi:   classes.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ classes.o libcgi.a $(LIBS)
+       $(LD_CC) $(LDFLAGS) -o $@ classes.o -lcupscgi $(LIBS)
 
 
 #
 # help.cgi
 #
 
-help.cgi:      help.o ../Makedefs libcgi.a
+help.cgi:      help.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ help.o libcgi.a $(LIBS)
+       $(LD_CC) $(LDFLAGS) -o $@ help.o -lcupscgi $(LIBS)
 
 
 #
 # jobs.cgi
 #
 
-jobs.cgi:      jobs.o ../Makedefs ../cups/$(LIBCUPS) libcgi.a
+jobs.cgi:      jobs.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
+       echo Linking $@...
+       $(LD_CC) $(LDFLAGS) -o $@ jobs.o -lcupscgi $(LIBS)
+
+
+#
+# makedocset
+#
+
+makedocset:    makedocset.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ jobs.o libcgi.a $(LIBS)
+       $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ makedocset.o libcupscgi.a \
+               ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
+               $(LIBZ) $(LIBGSSAPI)
 
 
 #
 # printers.cgi
 #
 
-printers.cgi:  printers.o ../Makedefs ../cups/$(LIBCUPS) libcgi.a
+printers.cgi:  printers.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ printers.o libcgi.a $(LIBS)
+       $(LD_CC) $(LDFLAGS) -o $@ printers.o -L. -lcupscgi $(LIBS)
 
 
 #
 # testcgi
 #
 
-testcgi:       testcgi.o ../Makedefs libcgi.a ../cups/libcups.a
+testcgi:       testcgi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testcgi.o libcgi.a ../cups/libcups.a \
-               $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI)
+       $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcgi.o libcupscgi.a \
+               ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
+               $(LIBZ) $(LIBGSSAPI)
+       echo Testing CGI API...
+       ./testcgi
 
 
 #
 # testhi
 #
 
-testhi:        testhi.o ../Makedefs libcgi.a ../cups/libcups.a
+testhi:        testhi.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testhi.o libcgi.a ../cups/libcups.a \
-               $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI)
+       $(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhi.o libcupscgi.a \
+               ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
+               $(LIBZ) $(LIBGSSAPI)
+       echo Testing help index API...
+       ./testhi
 
 
 #
 # testtemplate
 #
 
-testtemplate:  testtemplate.o ../Makedefs libcgi.a ../cups/libcups.a
+testtemplate:  testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testtemplate.o libcgi.a ../cups/libcups.a \
-               $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI)
+       $(LD_CC) $(LDFLAGS) -o $@ testtemplate.o libcupscgi.a ../cups/$(LIBCUPSSTATIC) \
+               $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ) $(LIBGSSAPI)
 
 
 #
@@ -164,8 +327,3 @@ testtemplate:       testtemplate.o ../Makedefs libcgi.a ../cups/libcups.a
 #
 
 include Dependencies
-
-
-#
-# End of "$Id: Makefile 6649 2007-07-11 21:46:42Z mike $".
-#