-
Notifications
You must be signed in to change notification settings - Fork 18
/
Makefile
149 lines (112 loc) · 2.83 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#
# Top-level Makefile for libcups.
#
# Copyright © 2020-2023 by OpenPrinting
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
include Makedefs
#
# Directories to make...
#
DIRS = doc cups examples man tools
#
# Make all targets...
#
all:
echo "Using CC=\"$(CC)\""
echo "Using CFLAGS=\"-I.. -D_CUPS_SOURCE $(CPPFLAGS) $(CFLAGS) $(OPTIM) $(WARNINGS)\""
echo "Using CPPFLAGS=\"-I.. -D_CUPS_SOURCE $(CPPFLAGS) $(OPTIONS)\""
echo "Using DSOFLAGS=\"$(DSOFLAGS)\""
echo "Using LDFLAGS=\"$(LDFLAGS)\""
echo "Using LIBS=\"$(LIBS)\""
for dir in $(PDFIODIR) $(DIRS); do\
echo "======== all in $$dir ========" ;\
(cd $$dir ; $(MAKE) $(MFLAGS) COMMONFLAGS="$(OPTIM)" all) || exit 1;\
done
#
# Remove object and target files...
#
clean:
for dir in $(PDFIODIR) $(DIRS); do\
echo "======== clean in $$dir ========" ;\
(cd $$dir; $(MAKE) $(MFLAGS) clean) || exit 1;\
done
#
# Remove all non-distribution files...
#
distclean: clean
$(RM) Makedefs config.h config.log config.status cups.pc
-$(RM) -r autom4te*.cache
#
# Make dependencies
#
depend:
echo "Using CC=\"$(CC)\""
echo "Using CPPFLAGS=\"-I.. -D_CUPS_SOURCE $(CPPFLAGS) $(OPTIONS)\""
for dir in $(DIRS); do\
echo "======== depend in $$dir ========" ;\
(cd $$dir; $(MAKE) $(MFLAGS) depend) || exit 1;\
done
#
# Install everything...
#
install:
echo "Installing $(CUPS_PC) file to $(BUILDROOT)$(libdir)/pkgconfig..."
$(INSTALL_DIR) $(BUILDROOT)$(libdir)/pkgconfig
$(INSTALL_DATA) cups3.pc $(BUILDROOT)$(libdir)/pkgconfig/cups3.pc
if test "$(CUPS_PC)" = cups.pc; then \
$(LN) cups3.pc $(BUILDROOT)$(libdir)/pkgconfig/cups.pc; \
fi
for dir in $(DIRS); do\
echo "======== install in $$dir ========" ;\
(cd $$dir; $(MAKE) $(MFLAGS) install) || exit 1;\
done
#
# Uninstall everything...
#
uninstall:
$(RM) $(BUILDROOT)$(libdir)/pkgconfig/cups3.pc
if test "$(CUPS_PC)" = cups.pc; then \
$(RM) $(BUILDROOT)$(libdir)/pkgconfig/cups.pc; \
fi
-$(RMDIR) $(BUILDROOT)$(libdir)/pkgconfig
for dir in $(DIRS); do\
echo "======== uninstall in $$dir ========";\
(cd $$dir; $(MAKE) $(MFLAGS) uninstall) || exit 1;\
done
#
# Build all unit tests...
#
unittests: all
for dir in $(DIRS); do\
echo "======== unittests in $$dir ========";\
(cd $$dir ; $(MAKE) $(MFLAGS) unittests) || exit 1;\
done
#
# Test everything...
#
test: all
for dir in $(DIRS); do\
echo "======== test in $$dir ========";\
(cd $$dir ; $(MAKE) $(MFLAGS) test) || exit 1;\
done
#
# Create HTML documentation using codedoc (http://www.msweet.org/codedoc)...
#
doc:
echo "======== doc in cups ========"
cd cups; $(MAKE) $(MFLAGS) doc
#
# Lines of code computation...
#
sloc:
for dir in $(DIRS); do \
echo "======== sloc in $$dir ========";\
(cd $$dir; $(MAKE) $(MFLAGS) sloc) || exit 1;\
done
#
# Don't run top-level build targets in parallel...
#
.NOTPARALLEL: