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