diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-03-21 23:46:46 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-03-21 23:46:46 +0000 |
commit | 50fe720154d2af59cdeeaecf05cc868530e16248 (patch) | |
tree | 509bbfd968bcb7bdf5db241e5eb66a2fb1882633 /cgi-bin/Makefile | |
parent | db0bd74adb0b363f586ceb3314c7ebbbe4596e3d (diff) | |
download | cups-50fe720154d2af59cdeeaecf05cc868530e16248.tar.gz |
<rdar://problem/5792631> dependency cycle in cups-144 / PrintingCore-250 / ApplicationServices
Merge build system changes to use shared support libraries.
Merge build system changes to separate installation of data, program, header,
and library files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@668 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'cgi-bin/Makefile')
-rw-r--r-- | cgi-bin/Makefile | 272 |
1 files changed, 245 insertions, 27 deletions
diff --git a/cgi-bin/Makefile b/cgi-bin/Makefile index 5637c900f..4122d37ee 100644 --- a/cgi-bin/Makefile +++ b/cgi-bin/Makefile @@ -3,7 +3,7 @@ # # CGI makefile for the Common UNIX Printing System (CUPS). # -# Copyright 2007 by Apple Inc. +# Copyright 2007-2008 by Apple Inc. # Copyright 1997-2006 by Easy Software Products. # # These coded instructions, statements, and computer programs are the @@ -15,11 +15,42 @@ 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 +LIB32OBJS = $(LIBOBJS:.o=.32.o) +LIB64OBJS = $(LIBOBJS:.o=.64.o) +OBJS = \ + $(LIBOBJS) \ + $(LIB32OBJS) \ + $(LIB64OBJS) \ + admin.o \ + classes.o \ + help.o \ + jobs.o \ + printers.o \ + testcgi.o \ + testhi.o \ + testtemplate.o +CGIS = \ + admin.cgi \ + classes.cgi \ + help.cgi \ + jobs.cgi \ + printers.cgi +TARGETS = \ + libcupscgi.a \ + $(LIBCUPSCGI) \ + $(LIB32CUPSCGI) \ + $(LIB32CUPSCGI) \ + $(CGIS) \ + testcgi \ + testhi \ + testtemplate # @@ -35,6 +66,8 @@ all: $(TARGETS) clean: $(RM) $(OBJS) $(TARGETS) + $(RM) libcupscgi.so libcupscgi.sl libcupscgi.dylib + $(RM) -r 32bit 64bit # @@ -42,14 +75,34 @@ clean: # depend: - makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1 + touch Dependencies.tmp + makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1 + $(RM) Dependencies + cp Dependencies.tmp Dependencies + sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies + sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies + $(RM) Dependencies.tmp # # 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; \ @@ -63,21 +116,186 @@ install: all # +# Install headers... +# + +install-headers: + echo Installing header files in $(INCLUDEDIR)/cups... + $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups + $(INSTALL_DATA) cgi.h $(INCLUDEDIR)/cups + $(INSTALL_DATA) help-index.h $(INCLUDEDIR)/cups + + +# +# Install libraries... +# + +install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64) + echo Installing libraries in $(LIBDIR)... + $(INSTALL_DIR) -m 755 $(LIBDIR) + $(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR) + if test $(LIBCUPSCGI) = "libcupscgi.so.1" -o $(LIBCUPSCGI) = "libcupscgi.sl.1"; then \ + $(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \ + $(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \ + fi + if test $(LIBCUPSCGI) = "libcupscgi.1.dylib"; then \ + $(STRIP) -x $(LIBDIR)/$(LIBCUPSCGI); \ + $(RM) $(LIBDIR)/libcupscgi.dylib; \ + $(LN) $(LIBCUPSCGI) $(LIBDIR)/libcupscgi.dylib; \ + fi + if test "x$(SYMROOT)" != "x"; then \ + $(INSTALL_DIR) $(SYMROOT); \ + cp $(LIBCUPSCGI) $(SYMROOT); \ + fi + +installstatic: + $(INSTALL_DIR) -m 755 $(LIBDIR) + $(INSTALL_LIB) libcupscgi.a $(LIBDIR) + $(RANLIB) $(LIBDIR)/libcupscgi.a + +install32bit: + echo Installing libraries in $(LIB32DIR)... + $(INSTALL_DIR) -m 755 $(LIB32DIR) + $(INSTALL_LIB) 32bit/libcupscgi.so.1 $(LIB32DIR)/libcupscgi.so.1 + $(LN) libcupscgi.so.1 $(LIB32DIR)/libcupscgi.so + +install64bit: + echo Installing libraries in $(LIB64DIR)... + $(INSTALL_DIR) -m 755 $(LIB64DIR) + $(INSTALL_LIB) 64bit/libcupscgi.so.1 $(LIB64DIR)/libcupscgi.so.1 + $(LN) libcupscgi.so.1 $(LIB64DIR)/libcupscgi.so + + +# # Uninstall all targets... # -uninstall: +uninstall: $(UNINSTALL32) $(UNINSTALL64) for file in $(CGIS); do \ $(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_s.a + $(RM) $(LIBDIR)/libcupscgi.sl + $(RM) $(LIBDIR)/libcupscgi.sl.1 + $(RM) $(LIBDIR)/libcupscgi.so + $(RM) $(LIBDIR)/libcupscgi.so.1 + -$(RMDIR) $(LIBDIR) + $(RM) $(INCLUDEDIR)/cups/cgi.h + $(RM) $(INCLUDEDIR)/cups/help-index.h + -$(RMDIR) $(INCLUDEDIR)/cups + +uninstall32bit: + $(RM) $(LIB32DIR)/libcupscgi.so + $(RM) $(LIB32DIR)/libcupscgi.so.1 + -$(RMDIR) $(LIB32DIR) + +uninstall64bit: + $(RM) $(LIB64DIR)/libcupscgi.so + $(RM) $(LIB64DIR)/libcupscgi.so.1 + -$(RMDIR) $(LIB64DIR) + + +# +# Automatic API help files... +# + +apihelp: + mxmldoc --section "Programming" \ + --title "CGI API" \ + --css ../doc/cups-printable.css \ + --header api-cgi.header --intro api-cgi.shtml \ + cgi.h help-index.h $(LIBOBJS:.o=.c) >../doc/help/api-cgi.html + +framedhelp: + mxmldoc --framed api-cgi \ + --section "Programming" \ + --title "CGI API" \ + --css ../doc/cups-printable.css \ + --header api-cgi.header --intro api-cgi.shtml \ + cgi.h help-index.h $(LIBOBJS:.o=.c) + + +# +# libcupscgi.so.1, libcupscgi.sl.1 +# + +libcupscgi.so.1 libcupscgi.sl.1: $(LIBOBJS) + echo Linking $@... + $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS) + $(RM) `basename $@ .1` + $(LN) $@ `basename $@ .1` + + +# +# 32bit/libcupscgi.so.1 +# + +32bit/libcupscgi.so.1: $(LIB32OBJS) + echo Linking 32-bit $@... + -mkdir 32bit + $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBS) + $(RM) 32bit/libcupscgi.so + $(LN) libcupscgi.so.1 32bit/libcupscgi.so + + +# +# 64bit/libcupscgi.so.1 +# + +64bit/libcupscgi.so.1: $(LIB64OBJS) + echo Linking 64-bit $@... + -mkdir 64bit + $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBS) + $(RM) 64bit/libcupscgi.so + $(LN) libcupscgi.so.1 64bit/libcupscgi.so + + +# +# 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 + + +# +# libcupscgi_s.a +# + +libcupscgi_s.a: $(LIBOBJS) + echo Creating $@... + $(DSO) $(DSOFLAGS) -o libcupscgi_s.o $(LIBOBJS) $(LIBS) + $(RM) $@ + $(AR) $(ARFLAGS) $@ libcupscgi_s.o + + +# +# libcupscgi.la +# + +libcupscgi.la: $(LIBOBJS) + echo Linking $@... + $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \ + -version-info 1:0 $(LIBS) # -# libcgi.a +# libcupscgi.a # -libcgi.a: $(LIBOBJS) +libcupscgi.a: $(LIBOBJS) echo Archiving $@... $(RM) $@ $(AR) $(ARFLAGS) $@ $(LIBOBJS) @@ -88,54 +306,54 @@ 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) + $(CC) $(LDFLAGS) -o $@ admin.o -L. -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) + $(CC) $(LDFLAGS) -o $@ classes.o -L. -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) + $(CC) $(LDFLAGS) -o $@ help.o -L. -lcupscgi $(LIBS) # # jobs.cgi # -jobs.cgi: jobs.o ../Makedefs ../cups/$(LIBCUPS) libcgi.a +jobs.cgi: jobs.o ../Makedefs ../cups/$(LIBCUPS) $(LIBCUPSCGI) echo Linking $@... - $(CC) $(LDFLAGS) -o $@ jobs.o libcgi.a $(LIBS) + $(CC) $(LDFLAGS) -o $@ jobs.o -L. -lcupscgi $(LIBS) # # 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) + $(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/libcups.a echo Linking $@... - $(CC) $(LDFLAGS) -o $@ testcgi.o libcgi.a ../cups/libcups.a \ + $(CC) $(LDFLAGS) -o $@ testcgi.o libcupscgi.a ../cups/libcups.a \ $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI) @@ -143,9 +361,9 @@ testcgi: testcgi.o ../Makedefs libcgi.a ../cups/libcups.a # testhi # -testhi: testhi.o ../Makedefs libcgi.a ../cups/libcups.a +testhi: testhi.o ../Makedefs libcupscgi.a ../cups/libcups.a echo Linking $@... - $(CC) $(LDFLAGS) -o $@ testhi.o libcgi.a ../cups/libcups.a \ + $(CC) $(LDFLAGS) -o $@ testhi.o libcupscgi.a ../cups/libcups.a \ $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI) @@ -153,9 +371,9 @@ testhi: testhi.o ../Makedefs libcgi.a ../cups/libcups.a # testtemplate # -testtemplate: testtemplate.o ../Makedefs libcgi.a ../cups/libcups.a +testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/libcups.a echo Linking $@... - $(CC) $(LDFLAGS) -o $@ testtemplate.o libcgi.a ../cups/libcups.a \ + $(CC) $(LDFLAGS) -o $@ testtemplate.o libcupscgi.a ../cups/libcups.a \ $(COMMONLIBS) $(SSLLIBS) $(LIBZ) $(LIBGSSAPI) |