1#
2# Common makefile definitions for CUPS.
3#
4# Copyright © 2007-2019 by Apple Inc.
5# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
6#
7# Licensed under Apache License v2.0.  See the file "LICENSE" for more
8# information.
9#
10
11#
12# CUPS version...
13#
14
15CUPS_VERSION    =       @CUPS_VERSION@
16
17
18#
19# Programs...
20#
21
22AR		=	@AR@
23AWK		=	@AWK@
24CC		=	@LIBTOOL_CC@ @CC@
25CHMOD		=	@CHMOD@
26CXX		=	@LIBTOOL_CXX@ @CXX@
27DSO		=	@DSO@
28DSOXX		=	@DSOXX@
29GZIPPROG	=	@GZIPPROG@
30INSTALL		=	@INSTALL@
31LD		=	@LD@
32LD_CC		=	@LD_CC@
33LD_CXX		=	@LD_CXX@
34LIBTOOL		=	@LIBTOOL@
35LN		=	@LN@ -sf
36MKDIR           =       @MKDIR@ -p
37MV		=	@MV@
38RANLIB		=	@RANLIB@
39RM		=	@RM@ -f
40RMDIR		=	@RMDIR@
41SED		=	@SED@
42SHELL		=	/bin/sh
43
44#
45# Installation programs...
46#
47
48INSTALL_BIN	=	@LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
49INSTALL_COMPDATA =	$(INSTALL) -c -m 444 @INSTALL_GZIP@
50INSTALL_CONFIG	=	$(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
51INSTALL_DATA	=	$(INSTALL) -c -m 444
52INSTALL_DIR	=	$(INSTALL) -d
53INSTALL_LIB	=	@LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
54INSTALL_MAN	=	$(INSTALL) -c -m 444
55INSTALL_SCRIPT	=	$(INSTALL) -c -m @CUPS_EXE_FILE_PERM@
56
57#
58# Default user, group, and system groups for the scheduler...
59#
60
61CUPS_USER	=	@CUPS_USER@
62CUPS_GROUP	=	@CUPS_GROUP@
63CUPS_SYSTEM_GROUPS =	@CUPS_SYSTEM_GROUPS@
64CUPS_PRIMARY_SYSTEM_GROUP =	@CUPS_PRIMARY_SYSTEM_GROUP@
65
66#
67# Default permissions...
68#
69
70CUPS_CONFIG_FILE_PERM = @CUPS_CONFIG_FILE_PERM@
71CUPS_CUPSD_FILE_PERM = @CUPS_CUPSD_FILE_PERM@
72CUPS_LOG_FILE_PERM = @CUPS_LOG_FILE_PERM@
73
74#
75# Languages to install...
76#
77
78LANGUAGES	=	@LANGUAGES@
79INSTALL_LANGUAGES =	@INSTALL_LANGUAGES@
80UNINSTALL_LANGUAGES =	@UNINSTALL_LANGUAGES@
81
82#
83# Cross-compilation support: "local" target is used for any tools that are
84# built and run locally.
85#
86
87LOCALTARGET     =       @LOCALTARGET@
88
89
90#
91# Libraries...
92#
93
94LIBCUPS		=	@LIBCUPS@
95LIBCUPSIMAGE	=	@LIBCUPSIMAGE@
96LIBCUPSOBJS	=	@LIBCUPSOBJS@
97LIBCUPSSTATIC	=	@LIBCUPSSTATIC@
98LIBGSSAPI	=	@LIBGSSAPI@
99LIBHEADERS	=	@LIBHEADERS@
100LIBHEADERSPRIV	=	@LIBHEADERSPRIV@
101LIBMALLOC	=	@LIBMALLOC@
102LIBPAPER	=	@LIBPAPER@
103LIBUSB		=	@LIBUSB@
104LIBWRAP		=	@LIBWRAP@
105LIBZ		=	@LIBZ@
106
107#
108# Install static libraries?
109#
110
111INSTALLSTATIC	=	@INSTALLSTATIC@
112
113#
114# IPP backend aliases...
115#
116
117IPPALIASES	=	@IPPALIASES@
118
119
120#
121# ippeveprinter commands...
122#
123
124IPPEVECOMMANDS	=	@IPPEVECOMMANDS@
125
126
127#
128# Install XPC backends?
129#
130
131INSTALLXPC	=	@INSTALLXPC@
132
133#
134# Code signing...
135#
136
137CODE_SIGN	=	@CODE_SIGN@
138CODE_SIGN_IDENTITY = -
139
140#
141# Program options...
142#
143# ARCHFLAGS     Defines the default architecture build options.
144# OPTIM         Defines the common compiler optimization/debugging options
145#               for all architectures.
146# OPTIONS       Defines other compile-time options (currently only -DDEBUG
147#               for extra debug info)
148#
149
150ALL_CFLAGS	=	-I.. -D_CUPS_SOURCE $(CFLAGS) \
151			$(SSLFLAGS) @LARGEFILE@ @PTHREAD_FLAGS@ \
152			$(ONDEMANDFLAGS) $(OPTIONS)
153ALL_CXXFLAGS	=	-I.. -D_CUPS_SOURCE $(CXXFLAGS) \
154			$(SSLFLAGS) @LARGEFILE@ @PTHREAD_FLAGS@ \
155			$(ONDEMANDFLAGS) $(OPTIONS)
156ALL_DSOFLAGS	=	-L../cups @ARCHFLAGS@ @RELROFLAGS@ $(DSOFLAGS) $(OPTIM)
157ALL_LDFLAGS	=	-L../cups @LDARCHFLAGS@ @RELROFLAGS@ $(LDFLAGS)  \
158			@PIEFLAGS@ $(OPTIM)
159ARCHFLAGS	=	@ARCHFLAGS@
160ARFLAGS		=	@ARFLAGS@
161BACKLIBS	=	@BACKLIBS@
162BUILDDIRS	=	@BUILDDIRS@
163CFLAGS		=	@CPPFLAGS@ @CFLAGS@
164COMMONLIBS	=	@LIBS@
165CXXFLAGS	=	@CPPFLAGS@ @CXXFLAGS@
166CXXLIBS		=	@CXXLIBS@
167DBUS_NOTIFIER	=	@DBUS_NOTIFIER@
168DBUS_NOTIFIERLIBS =	@DBUS_NOTIFIERLIBS@
169DNSSD_BACKEND	=	@DNSSD_BACKEND@
170DSOFLAGS	=	@DSOFLAGS@
171DNSSDLIBS	=	@DNSSDLIBS@
172IPPFIND_BIN	=	@IPPFIND_BIN@
173IPPFIND_MAN	=	@IPPFIND_MAN@
174LDFLAGS		=	@LDFLAGS@
175LINKCUPS	=	@LINKCUPS@
176LINKCUPSSTATIC	=	../cups/$(LIBCUPSSTATIC) $(LIBS)
177LIBS		=	$(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ) $(COMMONLIBS)
178ONDEMANDFLAGS	=	@ONDEMANDFLAGS@
179ONDEMANDLIBS	=	@ONDEMANDLIBS@
180OPTIM		=	@OPTIM@
181OPTIONS		=	@WARNING_OPTIONS@
182PAMLIBS		=	@PAMLIBS@
183SERVERLIBS	=	@SERVERLIBS@
184SSLFLAGS	=	@SSLFLAGS@
185SSLLIBS		=	@SSLLIBS@
186UNITTESTS	=	@UNITTESTS@
187
188
189#
190# Directories...
191#
192# The first section uses the GNU names (which are *extremely*
193# difficult to find in a makefile because they are lowercase...)
194# We have to define these first because autoconf uses ${prefix}
195# and ${exec_prefix} for most of the other directories...
196#
197# The "datarootdir" variable may not get defined if you are using
198# a version of autoconf prior to 2.60.
199#
200# This is immediately followed by definition in ALL CAPS for the
201# needed directories...
202#
203
204bindir		=	@bindir@
205datadir		=	@datadir@
206datarootdir	=	@datarootdir@
207exec_prefix	=	@exec_prefix@
208includedir	=	@includedir@
209infodir		=	@infodir@
210libdir		=	@libdir@
211libexecdir	=	@libexecdir@
212localstatedir	=	@localstatedir@
213mandir		=	@mandir@
214oldincludedir	=	@oldincludedir@
215prefix		=	@prefix@
216privateinclude	=	@privateinclude@
217sbindir		=	@sbindir@
218sharedstatedir	=	@sharedstatedir@
219srcdir		=	@srcdir@
220sysconfdir	=	@sysconfdir@
221top_srcdir	=	@top_srcdir@
222
223BUILDROOT	=	$(DSTROOT)$(DESTDIR)
224
225BINDIR		=	$(BUILDROOT)@bindir@
226BUNDLEDIR	=	@CUPS_BUNDLEDIR@
227CACHEDIR	=	$(BUILDROOT)@CUPS_CACHEDIR@
228DATADIR		=	$(BUILDROOT)@CUPS_DATADIR@
229DOCDIR		=	$(BUILDROOT)@CUPS_DOCROOT@
230ICONDIR		=	@ICONDIR@
231INCLUDEDIR	=	$(BUILDROOT)$(includedir)
232LIBDIR		=	$(BUILDROOT)$(libdir)
233LOCALEDIR	= 	$(BUILDROOT)@CUPS_LOCALEDIR@
234LOGDIR		= 	$(BUILDROOT)@CUPS_LOGDIR@
235MANDIR		=	$(BUILDROOT)@mandir@
236MENUDIR		=	@MENUDIR@
237PRIVATEINCLUDE	=	$(BUILDROOT)@PRIVATEINCLUDE@
238RCLEVELS	=	@RCLEVELS@
239RCSTART		=	@RCSTART@
240RCSTOP		=	@RCSTOP@
241REQUESTS	= 	$(BUILDROOT)@CUPS_REQUESTS@
242RESOURCEDIR	=	@CUPS_RESOURCEDIR@
243SBINDIR		=	$(BUILDROOT)@sbindir@
244SERVERBIN	= 	$(BUILDROOT)@CUPS_SERVERBIN@
245SERVERROOT	= 	$(BUILDROOT)@CUPS_SERVERROOT@
246STATEDIR	=	$(BUILDROOT)@CUPS_STATEDIR@
247
248PAMDIR		=	@PAMDIR@
249PAMFILE		=	@PAMFILE@
250
251DBUSDIR		=	@DBUSDIR@
252INITDIR		=	@INITDIR@
253INITDDIR	=	@INITDDIR@
254LAUNCHD_DIR	=	@LAUNCHD_DIR@
255SMFMANIFESTDIR	= 	@SMFMANIFESTDIR@
256SYSTEMD_DIR	=	@SYSTEMD_DIR@
257XINETD		=	@XINETD@
258
259USBQUIRKS	=	@USBQUIRKS@
260
261
262#
263# Rules...
264#
265
266.SILENT:
267.SUFFIXES:	.a .c .cxx .h .o
268
269.c.o:
270	echo Compiling $<...
271	$(CC) $(ARCHFLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
272
273.cxx.o:
274	echo Compiling $<...
275	$(CXX) $(ARCHFLAGS) $(OPTIM) $(ALL_CXXFLAGS) -c -o $@ $<
276