include ../Makedefs
LIBOBJS = \
attr.o \
check.o \
cmyk.o \
dither.o \
lut.o \
pack.o \
rgb.o \
srgb.o
OBJS = \
commandtoescpx.o \
commandtopclx.o \
rastertoescpx.o \
rastertopclx.o \
pcl-common.o \
testcmyk.o \
testdither.o \
testrgb.o \
$(LIBOBJS)
LIBTARGETS = \
$(LIBCUPSDRIVER) \
libcupsdriver.a
UNITTARGETS = \
testcmyk \
testdither \
testrgb
FILTERS = \
commandtoescpx \
commandtopclx \
rastertoescpx \
rastertopclx
TARGETS = \
$(LIBTARGETS) \
$(FILTERS)
all: $(TARGETS)
libs: $(LIBTARGETS)
unittests: $(UNITTARGETS)
clean:
$(RM) $(OBJS) core
$(RM) *.bck core.*
$(RM) $(TARGETS) $(UNITTARGETS)
$(RM) -r test
$(RM) libcupsdriver.so libcupsdriver.sl libcupsdriver.dylib
depend:
makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
install: all install-data install-headers install-libs install-exec
install-data:
install-exec:
$(INSTALL_DIR) $(SERVERBIN)/filter
for file in $(FILTERS); do \
$(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
done
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
for file in $(FILTERS); do \
cp $$file $(SYMROOT); \
done \
fi
install-headers:
echo Installing header files in $(INCLUDEDIR)/cups...
$(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
$(INSTALL_DATA) driver.h $(INCLUDEDIR)/cups
install-libs: $(INSTALLSTATIC)
echo Installing libraries in $(LIBDIR)...
$(INSTALL_DIR) -m 755 $(LIBDIR)
$(INSTALL_LIB) $(LIBCUPSDRIVER) $(LIBDIR)
if test $(LIBCUPSDRIVER) = "libcupsdriver.so.1" -o $(LIBCUPSDRIVER) = "libcupsdriver.sl.1"; then \
$(RM) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
$(LN) $(LIBCUPSDRIVER) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
fi
if test $(LIBCUPSDRIVER) = "libcupsdriver.1.dylib"; then \
$(RM) $(LIBDIR)/libcupsdriver.dylib; \
$(LN) $(LIBCUPSDRIVER) $(LIBDIR)/libcupsdriver.dylib; \
fi
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
cp $(LIBCUPSDRIVER) $(SYMROOT); \
fi
installstatic:
$(INSTALL_DIR) -m 755 $(LIBDIR)
$(INSTALL_LIB) -m 755 libcupsdriver.a $(LIBDIR)
$(RANLIB) $(LIBDIR)/libcupsdriver.a
$(CHMOD) 555 $(LIBDIR)/libcupsdriver.a
uninstall:
for file in commandtoescpx commandtopclx rastertoescpx rastertopclx; do \
$(RM) $(SERVERBIN)/filter/$$file; \
done
$(RM) $(LIBDIR)/libcupsdriver.1.dylib
$(RM) $(LIBDIR)/libcupsdriver.a
$(RM) $(LIBDIR)/libcupsdriver.dylib
$(RM) $(LIBDIR)/libcupsdriver_s.a
$(RM) $(LIBDIR)/libcupsdriver.sl
$(RM) $(LIBDIR)/libcupsdriver.sl.1
$(RM) $(LIBDIR)/libcupsdriver.so
$(RM) $(LIBDIR)/libcupsdriver.so.1
-$(RMDIR) $(LIBDIR)
$(RM) $(INCLUDEDIR)/cups/driver.h
-$(RMDIR) $(INCLUDEDIR)/cups
apihelp:
mxmldoc --section "Programming" \
--title "Printer Driver API" \
--css ../doc/cups-printable.css \
--header api-driver.header --intro api-driver.shtml \
api-driver.xml \
driver.h $(LIBOBJS:.o=.c) >../doc/help/api-driver.html
mxmldoc --tokens help/api-driver.html >../doc/help/api-driver.tokens
$(RM) api-driver.xml
framedhelp:
mxmldoc --framed api-driver \
--section "Programming" \
--title "Printer Driver API" \
--css ../doc/cups-printable.css \
--header api-driver.header --intro api-driver.shtml \
driver.h $(LIBOBJS:.o=.c)
commandtopclx: commandtopclx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ commandtopclx.o -L. -lcupsdriver $(LIBS)
commandtoescpx: commandtoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ commandtoescpx.o -L. -lcupsdriver $(LIBS)
rastertoescpx: rastertoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ rastertoescpx.o -L. -lcupsdriver \
$(LINKCUPSIMAGE) $(LIBS)
rastertopclx: rastertopclx.o pcl-common.o $(LIBCUPSDRIVER) \
../cups/$(LIBCUPS)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ rastertopclx.o pcl-common.o -L. -lcupsdriver \
$(LINKCUPSIMAGE) $(LIBS)
test:
if test ! -d test; then \
rm -rf test; \
mkdir test; \
fi
testcmyk: test testcmyk.o libcupsdriver.a ../cups/libcups.a
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcmyk.o libcupsdriver.a \
../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
echo Running CMYK API tests...
./testcmyk > test/testcmyk.log
testdither: test testdither.o libcupsdriver.a ../cups/libcups.a
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testdither.o libcupsdriver.a \
../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
echo Running dither API tests...
./testdither > test/0-255.pgm 2>test/0-255.log
./testdither 0 127 255 > test/0-127-255.pgm 2>test/0-127-255.log
./testdither 0 85 170 255 > test/0-85-170-255.pgm 2>test/0-85-170-255.log
./testdither 0 63 127 170 198 227 255 > test/0-63-127-170-198-227-255.pgm 2>test/0-63-127-170-198-227-255.log
./testdither 0 210 383 > test/0-210-383.pgm 2>test/0-210-383.log
./testdither 0 82 255 > test/0-82-255.pgm 2>test/0-82-255.log
./testdither 0 510 > test/0-510.pgm 2>test/0-510.log
./testdither 0 1020 > test/0-1020.pgm 2>test/0-1020.log
testrgb: test testrgb.o libcupsdriver.a ../cups/libcups.a
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testrgb.o libcupsdriver.a \
../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
echo Running RGB API tests...
./testrgb > test/testrgb.log 2>&1 || echo "RGB tests failed!"
libcupsdriver.so.1 libcupsdriver.sl.1: $(LIBOBJS)
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
$(RM) `basename $@ .1`
$(LN) $@ `basename $@ .1`
libcupsdriver.1.dylib: $(LIBOBJS) libcupsdriver.exp
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
-current_version 1.0.0 \
-compatibility_version 1.0.0 \
-exported_symbols_list libcupsdriver.exp \
$(LIBOBJS) $(LIBS)
$(RM) libcupsdriver.dylib
$(LN) $@ libcupsdriver.dylib
libcupsdriver_s.a: $(LIBOBJS)
echo Creating $@...
$(DSO) $(DSOFLAGS) -o libcupsdriver_s.o $(LIBOBJS) $(LIBS)
$(RM) $@
$(AR) $(ARFLAGS) $@ libcupsdriver_s.o
libcupsdriver.la: $(LIBOBJS)
echo Linking $@...
$(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
-version-info 1:0 $(LIBS)
libcupsdriver.a: $(LIBOBJS)
echo Archiving $@...
$(RM) $@
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
$(RANLIB) $@
include Dependencies