]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - Makefile
Fix a few STACK-detected issues:
[thirdparty/cups.git] / Makefile
index 82c29d66ce315dadc9bd3e4bdf1fafc1c19d5fcd..4fbbb057806b2e0217f4c843727486452469305a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,36 +1,26 @@
 #
-# "$Id: Makefile 7961 2008-09-17 19:52:46Z mike $"
+# "$Id$"
 #
-#   Top-level Makefile for CUPS.
+# Top-level Makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
-#   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+# Copyright 2007-2013 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
+# 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)
 
 
 #
@@ -119,7 +109,7 @@ distclean:  clean
        $(RM) packaging/cups-desc.plist packaging/cups-info.plist
        $(RM) templates/header.tmpl
        $(RM) desktop/cups.desktop
-       $(RM) scheduler/cups.sh scheduler/cups-lpd
+       $(RM) scheduler/cups.sh scheduler/cups-lpd.xinetd
        $(RM) scheduler/org.cups.cups-lpd.plist scheduler/cups.xml
        -$(RM) doc/*/index.html
        -$(RM) templates/*/header.tmpl
@@ -138,8 +128,11 @@ 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.
 #
 
 .PHONY: clang clang-changes
@@ -150,6 +143,26 @@ 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
+
+
 #
 # Generate a ctags file...
 #
@@ -170,6 +183,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;\
@@ -188,6 +203,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
 
 
 #
@@ -237,28 +257,32 @@ 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 cgi-bin cups filter ppdc scheduler; 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\
+       for dir in cgi-bin cups filter 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
@@ -274,30 +298,37 @@ 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.epmhome.org/)...
+# Lines of code computation...
+#
+
+sloc:
+       for dir in cups scheduler; do \
+               (cd $$dir; $(MAKE) $(MFLAGS) sloc) || exit 1;\
+       done
+
+
+#
+# Make software distributions using EPM (http://www.msweet.org/)...
 #
 
 EPMFLAGS       =       -v --output-dir dist $(EPMARCH)
 
-aix bsd deb depot inst pkg setld slackware swinstall tardist:
+bsd deb pkg slackware tardist:
        epm $(EPMFLAGS) -f $@ cups packaging/cups.list
 
 epm:
        epm $(EPMFLAGS) -s packaging/installer.gif cups packaging/cups.list
 
-osx:
-       epm $(EPMFLAGS) -f osx -s packaging/installer.tif cups packaging/cups.list
-
 rpm:
        epm $(EPMFLAGS) -f rpm -s packaging/installer.gif cups packaging/cups.list
 
@@ -308,12 +339,18 @@ dist:     all
        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:
+
+
+#
+# End of "$Id$".
 #