|
|
#
|
|
|
# Makefile for the CUPS PPD Compiler.
|
|
|
#
|
|
|
# Copyright © 2007-2019 by Apple Inc.
|
|
|
# Copyright © 2002-2006 by Easy Software Products.
|
|
|
#
|
|
|
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
|
|
# information.
|
|
|
#
|
|
|
|
|
|
#
|
|
|
# Include standard definitions...
|
|
|
#
|
|
|
|
|
|
include ../Makedefs
|
|
|
|
|
|
|
|
|
#
|
|
|
# Object files...
|
|
|
#
|
|
|
|
|
|
LIBOBJS = \
|
|
|
ppdc-array.o \
|
|
|
ppdc-attr.o \
|
|
|
ppdc-catalog.o \
|
|
|
ppdc-choice.o \
|
|
|
ppdc-constraint.o \
|
|
|
ppdc-driver.o \
|
|
|
ppdc-file.o \
|
|
|
ppdc-filter.o \
|
|
|
ppdc-font.o \
|
|
|
ppdc-group.o \
|
|
|
ppdc-import.o \
|
|
|
ppdc-mediasize.o \
|
|
|
ppdc-message.o \
|
|
|
ppdc-option.o \
|
|
|
ppdc-profile.o \
|
|
|
ppdc-shared.o \
|
|
|
ppdc-source.o \
|
|
|
ppdc-string.o \
|
|
|
ppdc-variable.o
|
|
|
OBJS = \
|
|
|
$(LIBOBJS) \
|
|
|
genstrings.o \
|
|
|
ppdc.o \
|
|
|
ppdhtml.o \
|
|
|
ppdi.o \
|
|
|
ppdmerge.o \
|
|
|
ppdpo.o \
|
|
|
testcatalog.o
|
|
|
LIBTARGETS = \
|
|
|
libcupsppdc.a
|
|
|
UNITTARGETS = \
|
|
|
ppdc-static \
|
|
|
ppdi-static \
|
|
|
testcatalog
|
|
|
EXECTARGETS = \
|
|
|
ppdc \
|
|
|
ppdhtml \
|
|
|
ppdi \
|
|
|
ppdmerge \
|
|
|
ppdpo
|
|
|
|
|
|
TARGETS = \
|
|
|
$(LIBTARGETS) \
|
|
|
$(EXECTARGETS) \
|
|
|
$(LOCALTARGET)
|
|
|
|
|
|
|
|
|
#
|
|
|
# Make everything...
|
|
|
#
|
|
|
|
|
|
all: $(TARGETS)
|
|
|
|
|
|
|
|
|
#
|
|
|
# Make library targets...
|
|
|
#
|
|
|
|
|
|
libs:
|
|
|
|
|
|
|
|
|
#
|
|
|
# Make unit tests...
|
|
|
#
|
|
|
|
|
|
unittests: $(UNITTARGETS)
|
|
|
|
|
|
|
|
|
#
|
|
|
# Clean everything...
|
|
|
#
|
|
|
|
|
|
clean:
|
|
|
$(RM) $(OBJS) core
|
|
|
$(RM) *.bak *.bck core.*
|
|
|
$(RM) $(TARGETS) $(UNITTARGETS) genstrings
|
|
|
$(RM) -r ppd ppd2
|
|
|
$(RM) sample-import.drv sample.c test.drv
|
|
|
|
|
|
|
|
|
#
|
|
|
# Update dependencies...
|
|
|
#
|
|
|
|
|
|
depend:
|
|
|
$(CXX) -MM $(ALL_CXXFLAGS) $(OBJS:.o=.cxx) >Dependencies
|
|
|
|
|
|
|
|
|
#
|
|
|
# Install all targets...
|
|
|
#
|
|
|
|
|
|
install: all install-data install-headers install-libs install-exec
|
|
|
|
|
|
|
|
|
#
|
|
|
# Install data files...
|
|
|
#
|
|
|
|
|
|
install-data:
|
|
|
$(INSTALL_DIR) $(DATADIR)/drv
|
|
|
$(INSTALL_DATA) sample.drv $(DATADIR)/drv
|
|
|
|
|
|
|
|
|
#
|
|
|
# Install programs...
|
|
|
#
|
|
|
|
|
|
install-exec:
|
|
|
echo Installing PPD compiler programs...
|
|
|
$(INSTALL_DIR) $(BINDIR)
|
|
|
for file in $(EXECTARGETS); do \
|
|
|
$(INSTALL_BIN) $$file $(BINDIR); \
|
|
|
done
|
|
|
if test "x$(SYMROOT)" != "x"; then \
|
|
|
$(INSTALL_DIR) $(SYMROOT); \
|
|
|
for file in $(EXECTARGETS); do \
|
|
|
cp $$file $(SYMROOT); \
|
|
|
dsymutil $(SYMROOT)/$$file; \
|
|
|
done \
|
|
|
fi
|
|
|
|
|
|
|
|
|
#
|
|
|
# Install headers...
|
|
|
#
|
|
|
|
|
|
install-headers:
|
|
|
|
|
|
|
|
|
#
|
|
|
# Install libraries...
|
|
|
#
|
|
|
|
|
|
install-libs:
|
|
|
|
|
|
|
|
|
#
|
|
|
# Uninstall...
|
|
|
#
|
|
|
|
|
|
uninstall:
|
|
|
for file in $(EXECTARGETS); do \
|
|
|
$(RM) $(BINDIR)/$$file; \
|
|
|
done
|
|
|
$(RM) $(DATADIR)/drv/sample.drv
|
|
|
$(RMDIR) $(DATADIR)/drv
|
|
|
|
|
|
|
|
|
#
|
|
|
# Local programs (not built when cross-compiling...)
|
|
|
#
|
|
|
|
|
|
local: genstrings
|
|
|
|
|
|
|
|
|
#
|
|
|
# genstrings - generate GNU gettext strings.
|
|
|
#
|
|
|
|
|
|
genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
|
|
|
sample.drv ../data/media.defs
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
|
|
|
libcupsppdc.a $(LINKCUPSSTATIC)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
echo Generating localization strings...
|
|
|
./genstrings >sample.c
|
|
|
|
|
|
|
|
|
#
|
|
|
# ppdc, the PPD compiler.
|
|
|
#
|
|
|
|
|
|
ppdc: ppdc.o libcupsppdc.a ../cups/$(LIBCUPS)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdc.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
|
|
|
$(LINKCUPSSTATIC)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
echo Testing PPD compiler...
|
|
|
./ppdc-static -l en,fr -I ../data foo.drv
|
|
|
./ppdc-static -l en,fr -z -I ../data foo.drv
|
|
|
|
|
|
|
|
|
#
|
|
|
# ppdhtml, the PPD to HTML utility.
|
|
|
#
|
|
|
|
|
|
ppdhtml: ppdhtml.o libcupsppdc.a ../cups/$(LIBCUPS)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdhtml.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
#
|
|
|
# ppdi, import PPD files.
|
|
|
#
|
|
|
|
|
|
ppdi: ppdi.o libcupsppdc.a ../cups/$(LIBCUPS)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdi.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
|
|
|
$(LINKCUPSSTATIC)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
echo Testing PPD importer...
|
|
|
$(RM) -r ppd ppd2 sample-import.drv
|
|
|
./ppdc-static -l en -I ../data sample.drv
|
|
|
./ppdi-static -I ../data -o sample-import.drv ppd/*
|
|
|
./ppdc-static -l en -I ../data -d ppd2 sample-import.drv
|
|
|
if diff -r ppd ppd2 >/dev/null; then \
|
|
|
echo PPD import OK; \
|
|
|
else \
|
|
|
echo PPD import FAILED; \
|
|
|
exit 1; \
|
|
|
fi
|
|
|
|
|
|
|
|
|
#
|
|
|
# ppdmerge, merge PPD files.
|
|
|
#
|
|
|
|
|
|
ppdmerge: ppdmerge.o ../cups/$(LIBCUPS)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdmerge.o $(LINKCUPS)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
#
|
|
|
# ppdpo, create message catalog files.
|
|
|
#
|
|
|
|
|
|
ppdpo: ppdpo.o libcupsppdc.a ../cups/$(LIBCUPS)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ ppdpo.o libcupsppdc.a $(COMMONLIBS) $(LINKCUPS)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
#
|
|
|
# testcatalog, test ppdcCatalog class.
|
|
|
#
|
|
|
|
|
|
testcatalog: testcatalog.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
|
|
|
echo Linking $@...
|
|
|
$(LD_CXX) $(ALL_LDFLAGS) -o $@ testcatalog.o libcupsppdc.a \
|
|
|
$(LINKCUPSSTATIC)
|
|
|
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
|
|
|
|
|
|
|
|
#
|
|
|
# libcupsppdc.a
|
|
|
#
|
|
|
|
|
|
libcupsppdc.a: $(LIBOBJS)
|
|
|
echo Archiving $@...
|
|
|
$(RM) $@
|
|
|
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
|
|
|
$(RANLIB) $@
|
|
|
|
|
|
|
|
|
#
|
|
|
# Include dependencies...
|
|
|
#
|
|
|
|
|
|
include Dependencies
|