2 # Makefile for the CUPS PPD Compiler.
4 # Copyright © 2007-2019 by Apple Inc.
5 # Copyright © 2002-2006 by Easy Software Products.
7 # Licensed under Apache License v2.0. See the file "LICENSE" for more
12 # Include standard definitions...
78 # Make library targets...
88 unittests
: $(UNITTARGETS
)
97 $(RM
) *.bak
*.bck core.
*
98 $(RM
) $(TARGETS
) $(UNITTARGETS
) genstrings
100 $(RM
) sample-import.drv sample.c
test.drv
104 # Update dependencies...
108 $(CXX
) -MM
$(ALL_CXXFLAGS
) $(OBJS
:.o
=.
cxx) >Dependencies
112 # Install all targets...
115 install: all install-data install-headers install-libs install-exec
119 # Install data files...
123 $(INSTALL_DIR
) $(DATADIR
)/drv
124 $(INSTALL_DATA
) sample.drv
$(DATADIR
)/drv
128 # Install programs...
132 echo Installing PPD compiler programs...
133 $(INSTALL_DIR
) $(BINDIR
)
134 for file in
$(EXECTARGETS
); do \
135 $(INSTALL_BIN
) $$file $(BINDIR
); \
137 if
test "x$(SYMROOT)" != "x"; then \
138 $(INSTALL_DIR
) $(SYMROOT
); \
139 for file in
$(EXECTARGETS
); do \
140 cp
$$file $(SYMROOT
); \
141 dsymutil
$(SYMROOT
)/$$file; \
154 # Install libraries...
165 for file in
$(EXECTARGETS
); do \
166 $(RM
) $(BINDIR
)/$$file; \
168 $(RM
) $(DATADIR
)/drv
/sample.drv
169 $(RMDIR
) $(DATADIR
)/drv
173 # Local programs (not built when cross-compiling...)
180 # genstrings - generate GNU gettext strings.
183 genstrings
: genstrings.o libcupsppdc.a ..
/cups
/$(LIBCUPSSTATIC
) \
184 sample.drv ..
/data
/media.defs
186 $(LD_CXX
) $(ARCHFLAGS
) $(ALL_LDFLAGS
) -o genstrings genstrings.o \
187 libcupsppdc.a
$(LINKCUPSSTATIC
)
188 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
189 echo Generating localization strings...
190 .
/genstrings
>sample.c
194 # ppdc, the PPD compiler.
197 ppdc
: ppdc.o libcupsppdc.a ..
/cups
/$(LIBCUPS
)
199 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ ppdc.o libcupsppdc.a
$(COMMONLIBS
) $(LINKCUPS
)
200 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
203 ppdc-static
: ppdc.o libcupsppdc.a ..
/cups
/$(LIBCUPSSTATIC
) foo.drv foo-fr.po
205 $(LD_CXX
) $(ARCHFLAGS
) $(ALL_LDFLAGS
) -o ppdc-static ppdc.o libcupsppdc.a \
207 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
208 echo Testing PPD compiler...
209 .
/ppdc-static
-l en
,fr
-I ..
/data foo.drv
210 .
/ppdc-static
-l en
,fr
-z
-I ..
/data foo.drv
214 # ppdhtml, the PPD to HTML utility.
217 ppdhtml
: ppdhtml.o libcupsppdc.a ..
/cups
/$(LIBCUPS
)
219 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ ppdhtml.o libcupsppdc.a
$(COMMONLIBS
) $(LINKCUPS
)
220 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
224 # ppdi, import PPD files.
227 ppdi
: ppdi.o libcupsppdc.a ..
/cups
/$(LIBCUPS
)
229 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ ppdi.o libcupsppdc.a
$(COMMONLIBS
) $(LINKCUPS
)
230 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
233 ppdi-static
: ppdc-static ppdi.o libcupsppdc.a ..
/cups
/$(LIBCUPSSTATIC
)
235 $(LD_CXX
) $(ARCHFLAGS
) $(ALL_LDFLAGS
) -o ppdi-static ppdi.o libcupsppdc.a \
237 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
238 echo Testing PPD importer...
239 $(RM
) -r ppd ppd2 sample-import.drv
240 .
/ppdc-static
-l en
-I ..
/data sample.drv
241 .
/ppdi-static
-I ..
/data
-o sample-import.drv ppd
/*
242 .
/ppdc-static
-l en
-I ..
/data
-d ppd2 sample-import.drv
243 if diff
-r ppd ppd2
>/dev
/null
; then \
244 echo PPD import OK
; \
246 echo PPD import FAILED
; \
252 # ppdmerge, merge PPD files.
255 ppdmerge
: ppdmerge.o ..
/cups
/$(LIBCUPS
)
257 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ ppdmerge.o
$(LINKCUPS
)
258 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
262 # ppdpo, create message catalog files.
265 ppdpo
: ppdpo.o libcupsppdc.a ..
/cups
/$(LIBCUPS
)
267 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ ppdpo.o libcupsppdc.a
$(COMMONLIBS
) $(LINKCUPS
)
268 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
272 # testcatalog, test ppdcCatalog class.
275 testcatalog
: testcatalog.o libcupsppdc.a ..
/cups
/$(LIBCUPSSTATIC
)
277 $(LD_CXX
) $(ALL_LDFLAGS
) -o
$@ testcatalog.o libcupsppdc.a \
279 $(CODE_SIGN
) -s
"$(CODE_SIGN_IDENTITY)" $@
286 libcupsppdc.a
: $(LIBOBJS
)
289 $(AR
) $(ARFLAGS
) $@
$(LIBOBJS
)
294 # Include dependencies...