]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - Makefile
Fix .PHONY declaration
[thirdparty/cups.git] / Makefile
index 9ccc129921f7da6ca68e8164366ffb51323043b8..afc90ce1e5c0c6da79d8867021f3f8c7495482a3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,36 +1,24 @@
 #
-# "$Id: Makefile 7961 2008-09-17 19:52:46Z mike $"
+# Top-level Makefile for CUPS.
 #
-#   Top-level Makefile for the Common UNIX Printing System (CUPS).
+# Copyright 2007-2016 by Apple Inc.
+# Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
-#   Copyright 2007-2009 by Apple Inc.
-#   Copyright 1997-2007 by Easy Software Products, all rights reserved.
-#
-#   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/".
+# 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
+# missing or damaged, see the license at "http://www.cups.org/".
 #
 
 include Makedefs
 
 
-#
-# Don't run top-level build targets in parallel...
-#
-
-.NOTPARALLEL:
-
-
 #
 # Directories to make...
 #
 
-DIRS   =       cups filter backend berkeley cgi-bin driver locale man monitor \
-               notifier ppdc scheduler systemv test \
-               $(PHPDIR) \
-               conf data desktop doc examples $(FONTS) templates
+DIRS   =       cups test $(BUILDDIRS)
 
 
 #
@@ -108,22 +96,18 @@ clean:
 
 distclean:     clean
        $(RM) Makedefs config.h config.log config.status
+       $(RM) conf/cups-files.conf conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf
        $(RM) cups-config
-       $(RM) conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf
-       $(RM) doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html
-       $(RM) man/client.conf.man
-       $(RM) man/cups-deviced.man man/cups-driverd.man
-       $(RM) man/cups-lpd.man man/cupsaddsmb.man man/cupsd.man
-       $(RM) man/cupsd.conf.man man/drv.man man/lpoptions.man
+       $(RM) data/testprint
+       $(RM) desktop/cups.desktop
+       $(RM) doc/index.html
+       $(RM) man/client.conf.man man/cups-files.conf.man man/cups-lpd.man man/cups-snmp.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man
        $(RM) packaging/cups.list
-       $(RM) packaging/cups-desc.plist packaging/cups-info.plist
+       $(RM) scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist scheduler/org.cups.cups-lpdAT.service scheduler/org.cups.cupsd.path scheduler/org.cups.cupsd.service scheduler/org.cups.cupsd.socket
        $(RM) templates/header.tmpl
-       $(RM) desktop/cups.desktop
-       $(RM) scheduler/cups.sh scheduler/cups-lpd
-       $(RM) scheduler/org.cups.cups-lpd.plist scheduler/cups.xml
        -$(RM) doc/*/index.html
        -$(RM) templates/*/header.tmpl
-       -$(RM) -r autom4te*.cache clang cups/charmaps cups/locale driver/test
+       -$(RM) -r autom4te*.cache clang cups/charmaps cups/locale
 
 
 #
@@ -138,14 +122,42 @@ depend:
 
 
 #
-# Run the clang.llvm.org static code analysis tool on the C sources.
-# (at least checker-231 is required for scan-build to work this way)
+# Run the Clang static code analysis tool on the sources, available here:
+#
+#    http://clang-analyzer.llvm.org
+#
+# At least checker-231 is required.
+#
+# Alternatively, use "--analyze -Xanalyzer -analyzer-output=text" for OPTIM (text
+# output instead of HTML...)
 #
 
-.PHONY: clang
+.PHONY: clang clang-changes
 clang:
        $(RM) -r clang
        scan-build -V -k -o `pwd`/clang $(MAKE) $(MFLAGS) clean all
+clang-changes:
+       scan-build -V -k -o `pwd`/clang $(MAKE) $(MFLAGS) all
+
+
+#
+# Run the STACK tool on the sources, available here:
+#
+#    http://css.csail.mit.edu/stack/
+#
+# Do the following to pass options to configure:
+#
+#    make CONFIGFLAGS="--foo --bar" stack
+#
+
+.PHONY: stack
+stack:
+       stack-build ./configure $(CONFIGFLAGS)
+       stack-build $(MAKE) $(MFLAGS) clean all
+       poptck
+       $(MAKE) $(MFLAGS) distclean
+       $(RM) */*.ll
+       $(RM) */*.ll.out
 
 
 #
@@ -168,6 +180,8 @@ install:    install-data install-headers install-libs install-exec
 #
 
 install-data:
+       echo Making all in cups...
+       (cd cups; $(MAKE) $(MFLAGS) all)
        for dir in $(DIRS); do\
                echo Installing data files in $$dir... ;\
                (cd $$dir; $(MAKE) $(MFLAGS) install-data) || exit 1;\
@@ -186,6 +200,11 @@ install-headers:
                echo Installing header files in $$dir... ;\
                (cd $$dir; $(MAKE) $(MFLAGS) install-headers) || exit 1;\
        done
+       if test "x$(privateinclude)" != x; then \
+               echo Installing config.h into $(PRIVATEINCLUDE)...; \
+               $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
+               $(INSTALL_DATA) config.h $(PRIVATEINCLUDE)/config.h; \
+       fi
 
 
 #
@@ -235,28 +254,26 @@ test:     all unittests
 
 check: all unittests
        echo Running CUPS test suite with defaults...
-       cd test; ./run-stp-tests.sh 1 0 n
+       cd test; ./run-stp-tests.sh 1 0 n n
+
+debugcheck:    all unittests
+       echo Running CUPS test suite with debug printfs...
+       cd test; ./run-stp-tests.sh 1 0 n y
 
 
 #
-# Create HTML documentation...
+# Create HTML documentation using Mini-XML's mxmldoc (http://www.msweet.org/)...
 #
 
 apihelp:
-       for dir in cgi-bin cups filter driver ppdc scheduler; do\
+       for dir in cups filter; do\
                echo Generating API help in $$dir... ;\
                (cd $$dir; $(MAKE) $(MFLAGS) apihelp) || exit 1;\
        done
 
-framedhelp:
-       for dir in cgi-bin cups filter driver ppdc scheduler; do\
-               echo Generating framed API help in $$dir... ;\
-               (cd $$dir; $(MAKE) $(MFLAGS) framedhelp) || exit 1;\
-       done
-
 
 #
-# Create an Xcode docset...
+# Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
 #
 
 docset:        apihelp
@@ -272,46 +289,47 @@ docset:   apihelp
                doc/help/api-*.tokens
        $(RM) doc/help/api-*.tokens
        echo Indexing docset...
-       /Developer/usr/bin/docsetutil index org.cups.docset
+       /Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index org.cups.docset
        echo Generating docset archive and feed...
        $(RM) org.cups.docset.atom
-       /Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
+       /Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
                --atom org.cups.docset.atom \
                --download-url http://www.cups.org/org.cups.docset.xar \
                org.cups.docset
 
 
 #
-# Make software distributions using EPM (http://www.easysw.com/epm/)...
+# Lines of code computation...
 #
 
-EPMFLAGS       =       -v --output-dir dist $(EPMARCH)
+sloc:
+       for dir in cups scheduler; do \
+               (cd $$dir; $(MAKE) $(MFLAGS) sloc) || exit 1;\
+       done
 
-aix bsd deb depot inst pkg setld slackware swinstall tardist:
-       epm $(EPMFLAGS) -f $@ cups packaging/cups.list
 
-epm:
-       epm $(EPMFLAGS) -s packaging/installer.gif cups packaging/cups.list
+#
+# Make software distributions using EPM (http://www.msweet.org/)...
+#
 
-osx:
-       epm $(EPMFLAGS) -f osx -s packaging/installer.tif cups packaging/cups.list
+EPMFLAGS       =       -v --output-dir dist $(EPMARCH)
 
-rpm:
-       epm $(EPMFLAGS) -f rpm -s packaging/installer.gif cups packaging/cups.list
+bsd deb epm pkg rpm slackware:
+       epm $(EPMFLAGS) -f $@ cups packaging/cups.list
 
-.PHONEY:       dist
+.PHONY:        dist
 dist:  all
        $(RM) -r dist
        $(MAKE) $(MFLAGS) epm
        case `uname` in \
                *BSD*) $(MAKE) $(MFLAGS) bsd;; \
-               Darwin*) $(MAKE) $(MFLAGS) osx;; \
-               IRIX*) $(MAKE) $(MFLAGS) tardist;; \
                Linux*) test ! -x /usr/bin/rpm || $(MAKE) $(MFLAGS) rpm;; \
                SunOS*) $(MAKE) $(MFLAGS) pkg;; \
        esac
 
 
 #
-# End of "$Id: Makefile 7961 2008-09-17 19:52:46Z mike $".
+# Don't run top-level build targets in parallel...
 #
+
+.NOTPARALLEL: