]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/Makefile
Merge changes from CUPS 1.5svn-r9641
[thirdparty/cups.git] / cups / Makefile
index 735c89dd97c2a4d542894917f620e54befae388b..38fdcb64520e06a6a9eaf87a152e9c9ccab304fb 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $"
+# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   API library Makefile for the Common UNIX Printing System (CUPS).
+#   API library Makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -56,12 +56,15 @@ LIBOBJS     =       \
                options.o \
                page.o \
                ppd.o \
+               ppd-cache.o \
+               pwg-media.o \
                request.o \
                sidechannel.o \
                snmp.o \
                snprintf.o \
                string.o \
                tempfile.o \
+               thread.o \
                transcode.o \
                usersys.o \
                util.o
@@ -73,6 +76,7 @@ OBJS  =       \
                $(LIB64OBJS) \
                testadmin.o \
                testarray.o \
+               testconflicts.o \
                testcups.o \
                testfile.o \
                testhttp.o \
@@ -81,8 +85,8 @@ OBJS  =       \
                testoptions.o \
                testlang.o \
                testppd.o \
-               testsnmp.o \
-               php_cups_wrap.o
+               testpwg.o \
+               testsnmp.o
 
 
 #
@@ -105,37 +109,55 @@ HEADERS   =       \
                transcode.h \
                versioning.h
 
+HEADERSPRIV =  \
+               cups-private.h \
+               debug-private.h \
+               file-private.h \
+               http-private.h \
+               ipp-private.h \
+               language-private.h \
+               md5-private.h \
+               ppd-private.h \
+               pwg-private.h \
+               snmp-private.h \
+               string-private.h \
+               thread-private.h
+
 
 #
 # Targets in this directory...
 #
 
 LIBTARGETS =   \
+               $(LIBCUPSSTATIC) \
                $(LIBCUPS) \
                $(LIB32CUPS) \
-               $(LIB64CUPS) \
-               libcups.a \
+               $(LIB64CUPS)
+
+UNITTARGETS =  \
+               testadmin \
                testarray \
+               testconflicts \
+               testcups \
                testfile \
                testhttp \
                testi18n \
                testipp \
                testlang \
                testoptions \
-               testppd
+               testppd \
+               testpwg \
+               testsnmp
 
 TARGETS        =       \
-               $(LIBTARGETS) \
-               testadmin \
-               testcups \
-               testsnmp
+               $(LIBTARGETS)
 
 
 #
 # Make all targets...
 #
 
-all:   $(TARGETS)
+all:           $(TARGETS)
 
 
 #
@@ -145,12 +167,19 @@ all:      $(TARGETS)
 libs:          $(LIBTARGETS)
 
 
+#
+# Make unit tests...
+#
+
+unittests:     $(UNITTARGETS)
+
+
 #
 # Remove object and target files...
 #
 
 clean:
-       $(RM) $(OBJS) $(TARGETS)
+       $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
        $(RM) libcups.so libcups.sl libcups.dylib
        $(RM) -r 32bit 64bit
 
@@ -200,6 +229,13 @@ install-headers:
        for file in $(HEADERS); do \
                $(INSTALL_DATA) $$file $(INCLUDEDIR)/cups; \
        done
+       if test "x$(privateinclude)" != x; then \
+               echo Installing private header files into $(PRIVATEINCLUDE)...; \
+               $(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
+               for file in $(HEADERSPRIV); do \
+                       $(INSTALL_DATA) $$file $(PRIVATEINCLUDE)/$$file; \
+               done; \
+       fi
 
 
 #
@@ -225,8 +261,9 @@ install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
 
 installstatic:
        $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) libcups.a $(LIBDIR)
-       $(RANLIB) $(LIBDIR)/libcups.a
+       $(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR)
+       $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
+       $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
 
 install32bit:
        echo Installing libraries in $(LIB32DIR)...
@@ -247,7 +284,7 @@ install64bit:
 
 uninstall: $(UNINSTALL32) $(UNINSTALL64)
        $(RM) $(LIBDIR)/libcups.2.dylib
-       $(RM) $(LIBDIR)/libcups.a
+       $(RM) $(LIBDIR)/$(LIBCUPSSTATIC)
        $(RM) $(LIBDIR)/libcups.dylib
        $(RM) $(LIBDIR)/libcups_s.a
        $(RM) $(LIBDIR)/libcups.sl
@@ -277,7 +314,8 @@ uninstall64bit:
 
 libcups.so.2 libcups.sl.2:     $(LIBOBJS)
        echo Linking $@...
-       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \
+               $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        $(RM) `basename $@ .2`
        $(LN) $@ `basename $@ .2`
 
@@ -289,7 +327,8 @@ libcups.so.2 libcups.sl.2:  $(LIBOBJS)
 32bit/libcups.so.2:    $(LIB32OBJS)
        echo Linking 32-bit $@...
        -mkdir 32bit
-       $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) \
+               $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
        $(RM) 32bit/libcups.so
        $(LN) libcups.so.2 32bit/libcups.so
 
@@ -301,7 +340,8 @@ libcups.so.2 libcups.sl.2:  $(LIBOBJS)
 64bit/libcups.so.2:    $(LIB64OBJS)
        echo Linking 64-bit $@...
        -mkdir 64bit
-       $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) \
+               $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
        $(RM) 64bit/libcups.so
        $(LN) libcups.so.2 64bit/libcups.so
 
@@ -310,16 +350,20 @@ libcups.so.2 libcups.sl.2:        $(LIBOBJS)
 # libcups.2.dylib
 #
 
-libcups.2.dylib:       $(LIBOBJS) $(LIBCUPSORDER) libcups.exp
+libcups.2.dylib:       $(LIBOBJS) $(LIBCUPSORDER)
+       echo Creating export list for $@...
+       nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}' | \
+               grep -v -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault|_httpWait)$$' | \
+               sort >t.exp
        echo Linking $@...
        $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
                -install_name $(libdir)/$@ \
-               -current_version 2.8.0 \
+               -current_version 2.9.0 \
                -compatibility_version 2.0.0 \
-               -exported_symbols_list libcups.exp \
-               -sectorder __TEXT __text $(LIBCUPSORDER) \
-               $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
-       $(RM) libcups.dylib
+               -exported_symbols_list t.exp \
+               $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+       $(RM) libcups.dylib t.exp
        $(LN) $@ libcups.dylib
 
 
@@ -329,7 +373,9 @@ libcups.2.dylib:    $(LIBOBJS) $(LIBCUPSORDER) libcups.exp
 
 libcups_s.a:   $(LIBOBJS) libcups_s.exp
        echo Creating $@...
-       $(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ) -lm
+       $(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o \
+               $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ) -lm
        $(RM) $@
        $(AR) $(ARFLAGS) $@ libcups_s.o
 
@@ -340,8 +386,9 @@ libcups_s.a:        $(LIBOBJS) libcups_s.exp
 
 libcups.la:    $(LIBOBJS)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
-               -version-info 2:8 $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
+               -rpath $(LIBDIR) -version-info 2:9 $(LIBGSSAPI) $(SSLLIBS) \
+               $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
@@ -356,69 +403,55 @@ libcups.a:        $(LIBOBJS)
 
 
 #
-# CUPS language bindings for various scripting languages...
-#
-# NOTE: Not currently used or functional - see the scripting/php directory
-#       for the hand-written bindings...
+# testadmin (dependency on static CUPS library is intentional)
 #
 
-phpcups.so:    $(LIBCUPS) php_cups_wrap.o
+testadmin:     testadmin.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       if test `uname` = Darwin; then \
-               DSOFLAGS="-bundle -flat_namespace -undefined suppress"; \
-       else \
-               DSOFLAGS="$(DSOFLAGS)"; \
-       fi; \
-       $(DSO) $$DSOFLAGS -o $@ php_cups_wrap.o $(LIBS) `php-config --ldflags --libs`
-
-php_cups_wrap.o:       php_cups_wrap.c
-       echo Compiling $<...
-       $(CC) $(CFLAGS) `php-config --includes` -c $<
-php_cups_wrap.c:       cups.h
-       echo Creating $< using SWIG...
-       swig -php -o $@ -module cups cups.h
+       $(CC) $(LDFLAGS) -o $@ testadmin.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
-# testadmin (dependency on static CUPS library is intentional)
+# testarray (dependency on static CUPS library is intentional)
 #
 
-testadmin:     testadmin.o libcups.a
+testarray:     testarray.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testadmin.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+       echo Running array API tests...
+       ./testarray
 
 
 #
-# testarray (dependency on static CUPS library is intentional)
+# testconflicts (dependency on static CUPS library is intentional)
 #
 
-testarray:     testarray.o libcups.a
+testconflicts: testconflicts.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testarray.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
-       echo Running array API tests...
-       ./testarray
+       $(CC) $(LDFLAGS) -o $@ testconflicts.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
 # testcups (dependency on static CUPS library is intentional)
 #
 
-testcups:      testcups.o libcups.a
+testcups:      testcups.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testcups.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(LDFLAGS) -o $@ testcups.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
 # testfile (dependency on static CUPS library is intentional)
 #
 
-testfile:      testfile.o libcups.a
+testfile:      testfile.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testfile.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running file API tests...
        ./testfile
 
@@ -427,10 +460,10 @@ testfile: testfile.o libcups.a
 # testhttp (dependency on static CUPS library is intentional)
 #
 
-testhttp:      testhttp.o libcups.a
+testhttp:      testhttp.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhttp.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running HTTP API tests...
        ./testhttp
 
@@ -439,10 +472,10 @@ testhttp: testhttp.o libcups.a
 # testipp (dependency on static CUPS library is intentional)
 #
 
-testipp:       testipp.o libcups.a
+testipp:       testipp.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testipp.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running IPP API tests...
        ./testipp
 
@@ -451,10 +484,10 @@ testipp:  testipp.o libcups.a
 # testi18n (dependency on static CUPS library is intentional)
 #
 
-testi18n:      testi18n.o libcups.a
+testi18n:      testi18n.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testi18n.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running internationalization API tests...
        ./testi18n
 
@@ -463,10 +496,10 @@ testi18n: testi18n.o libcups.a
 # testlang (dependency on static CUPS library is intentional)
 #
 
-testlang:      testlang.o libcups.a
+testlang:      testlang.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testlang.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running language API tests...
        ./testlang
 
@@ -475,10 +508,10 @@ testlang: testlang.o libcups.a
 # testoptions (dependency on static CUPS library is intentional)
 #
 
-testoptions:   testoptions.o libcups.a
+testoptions:   testoptions.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testoptions.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running option API tests...
        ./testoptions
 
@@ -487,22 +520,34 @@ testoptions:      testoptions.o libcups.a
 # testppd (dependency on static CUPS library is intentional)
 #
 
-testppd:       testppd.o libcups.a
+testppd:       testppd.o $(LIBCUPSSTATIC) test.ppd test2.ppd
        echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testppd.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
        echo Running PPD API tests...
        ./testppd
 
 
+#
+# testpwg (dependency on static CUPS library is intentional)
+#
+
+testpwg:       testpwg.o $(LIBCUPSSTATIC) test.ppd
+       echo Linking $@...
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testpwg.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+       echo Running PWG API tests...
+       ./testpwg test.ppd
+
+
 #
 # testsnmp (dependency on static CUPS library is intentional)
 #
 
-testsnmp:      testsnmp.o libcups.a
+testsnmp:      testsnmp.o $(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testsnmp.o libcups.a \
-               $(LIBGSSAPI) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+       $(CC) $(LDFLAGS) -o $@ testsnmp.o $(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
 #
@@ -519,34 +564,52 @@ apihelp:
        mxmldoc --section "Programming" --title "Array API" \
                --css ../doc/cups-printable.css \
                --header api-array.header --intro api-array.shtml \
+               api-array.xml \
                array.h array.c >../doc/help/api-array.html
+       mxmldoc --tokens help/api-array.html api-array.xml >../doc/help/api-array.tokens
+       $(RM) api-array.xml
        mxmldoc --section "Programming" --title "CUPS API" \
                --css ../doc/cups-printable.css \
                --header api-cups.header --intro api-cups.shtml \
-               cups.h dest.c language.c notify.c \
+               api-cups.xml \
+               cups.h adminutil.c dest.c language.c notify.c \
                options.c tempfile.c usersys.c \
                util.c >../doc/help/api-cups.html
+       mxmldoc --tokens help/api-cups.html api-cups.xml >../doc/help/api-cups.tokens
+       $(RM) api-cups.xml
        mxmldoc --section "Programming" --title "File and Directory APIs" \
                --css ../doc/cups-printable.css \
                --header api-filedir.header --intro api-filedir.shtml \
+               api-filedir.xml \
                file.h file.c dir.h dir.c >../doc/help/api-filedir.html
+       mxmldoc --tokens api-filedir.xml >../doc/help/api-filedir.tokens
+       $(RM) api-filedir.xml
        mxmldoc --section "Programming" --title "PPD API" \
                --css ../doc/cups-printable.css \
                --header api-ppd.header --intro api-ppd.shtml \
+               api-ppd.xml \
                ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c page.c \
                ppd.c >../doc/help/api-ppd.html
+       mxmldoc --tokens help/api-ppd.html api-ppd.xml >../doc/help/api-ppd.tokens
+       $(RM) api-ppd.xml
        mxmldoc --section "Programming" --title "HTTP and IPP APIs" \
                --css ../doc/cups-printable.css \
                --header api-httpipp.header --intro api-httpipp.shtml \
+               api-httpipp.xml \
                http.h ipp.h auth.c getdevices.c getputfile.c encode.c \
                http.c http-addr.c http-support.c ipp.c ipp-support.c \
                md5passwd.c request.c >../doc/help/api-httpipp.html
+       mxmldoc --tokens help/api-httpipp.html api-httpipp.xml >../doc/help/api-httpipp.tokens
+       $(RM) api-httpipp.xml
        mxmldoc --section "Programming" \
                --title "Filter and Backend Programming" \
                --css ../doc/cups-printable.css \
                --header api-filter.header --intro api-filter.shtml \
+               api-filter.xml \
                backchannel.c backend.h backend.c sidechannel.c sidechannel.h \
                >../doc/help/api-filter.html
+       mxmldoc --tokens help/api-filter.html api-filter.xml >../doc/help/api-filter.tokens
+       $(RM) api-filter.xml
 
 framedhelp:
        echo Generating CUPS API help files...
@@ -564,7 +627,7 @@ framedhelp:
                --section "Programming" --title "CUPS API" \
                --css ../doc/cups-printable.css \
                --header api-cups.header --intro api-cups.shtml \
-               cups.h dest.c language.c notify.c \
+               cups.h adminutil.c dest.c language.c notify.c \
                options.c tempfile.c usersys.c \
                util.c
        mxmldoc --framed api-filedir \
@@ -593,6 +656,17 @@ framedhelp:
                backchannel.c backend.h backend.c sidechannel.c sidechannel.h
 
 
+#
+# Lines of code computation...
+#
+
+sloc:
+       echo "libcupslite: \c"
+       sloccount $(LITEOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
+       echo "libcups: \c"
+       sloccount $(LIBOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
+
+
 #
 # Dependencies...
 #
@@ -601,5 +675,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $".
+# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $".
 #