cups/ppdc/Makefile

298 lines
5.1 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# 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