author | Niveditha Rau <Niveditha.Rau@Oracle.COM> |
Wed, 08 Apr 2015 13:06:55 -0700 | |
changeset 1523 | 078d84a16e65 |
parent 1509 | 3161a3f7cef7 |
permissions | -rw-r--r-- |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1 |
# -*- Makefile -*- rules commonly shared among X consolidation open source dirs |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
# Makefile.subdirs has rules for recursively iterating through module subdirs |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
3 |
# |
1509
3161a3f7cef7
20578429 make clobber does not clean out obsolete subdirs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1479
diff
changeset
|
4 |
# Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
# |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
6 |
# Permission is hereby granted, free of charge, to any person obtaining a |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
7 |
# copy of this software and associated documentation files (the "Software"), |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
8 |
# to deal in the Software without restriction, including without limitation |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
9 |
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
10 |
# and/or sell copies of the Software, and to permit persons to whom the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
11 |
# Software is furnished to do so, subject to the following conditions: |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
12 |
# |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
13 |
# The above copyright notice and this permission notice (including the next |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
14 |
# paragraph) shall be included in all copies or substantial portions of the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
15 |
# Software. |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
16 |
# |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
17 |
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
18 |
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
19 |
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
20 |
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
21 |
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
22 |
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
23 |
# DEALINGS IN THE SOFTWARE. |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
24 |
# |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
25 |
# |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
26 |
|
1003
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
27 |
# MACH will be either "sparc" or "i386" |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
28 |
MACH=$(TARGET_ARCH:-%=%) |
a4d17d6bc179
6980773 X gate needs branding options
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
967
diff
changeset
|
29 |
START_CMD_ECHO = PS4="" ; set -x |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
30 |
|
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
31 |
OS_SUBDIRS=$(OS_SUBDIRS_$(MACH)) |
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
32 |
|
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
33 |
# Variables to always pass down to subdirs |
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
34 |
PASSDOWN_VARS = V="$(V)" TOP="$(TOP)" CDEBUGFLAGS="$(CDEBUGFLAGS)" |
1479
4a76cf532c2c
19978574 Need an automated, repeatable way to generate X's FOSS required source releases
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1466
diff
changeset
|
35 |
PASSDOWN_VARS += $(ADD_PASSDOWN_VARS) ADD_PASSDOWN_VARS='$(ADD_PASSDOWN_VARS)' |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
36 |
|
705
24ca414edbff
6826940 Xorg server 1.6.1, Mesa 7.4.1, and associated module upgrades [PSARC 2009/292]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
606
diff
changeset
|
37 |
.DEFAULT: |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
38 |
$(MAKE) $(MAKEFLAGS) $(PASSDOWN_VARS) subdirs OS_TARGET=$@ |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
|
1466
fbd4067be4c6
19461700 Split source & build subdirectories in X builds
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1036
diff
changeset
|
40 |
World: clobber all |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
41 |
|
851
d428083dbbdd
6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
810
diff
changeset
|
42 |
clean: clean-subdirs clean-obsolete-subdirs |
1509
3161a3f7cef7
20578429 make clobber does not clean out obsolete subdirs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1479
diff
changeset
|
43 |
clobber: clobber-subdirs clean-obsolete-subdirs |
851
d428083dbbdd
6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
810
diff
changeset
|
44 |
|
1509
3161a3f7cef7
20578429 make clobber does not clean out obsolete subdirs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1479
diff
changeset
|
45 |
clean-subdirs clobber-subdirs: |
3161a3f7cef7
20578429 make clobber does not clean out obsolete subdirs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1479
diff
changeset
|
46 |
$(MAKE) $(MAKEFLAGS) $(PASSDOWN_VARS) subdirs OS_TARGET=$(@:-subdirs=) |
493
f43507b5737d
6735203 open-src Makefile cleanup & enhancements
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
47 |
|
810
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
48 |
subdirs: $(OS_SUBDIRS) |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
49 |
|
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
50 |
$(OS_SUBDIRS): ALWAYS_RUN |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
51 |
@case '${MAKEFLAGS}' in *[ik]*) set +e;; esac; \ |
810
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
52 |
cd $@ ; \ |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
53 |
print "## making" $(OS_TARGET) "in open-src/$(DIRNAME)$@..."; \ |
967
efbd0ee6805d
6963229 build race conditions and other makefile issues
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
943
diff
changeset
|
54 |
$(MAKE) $(MAKEFLAGS) $(PASSDOWN_VARS) $(OS_TARGET) |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
55 |
|
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
56 |
clean-obsolete-subdirs: |
851
d428083dbbdd
6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
810
diff
changeset
|
57 |
@ set +e; \ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
58 |
if [[ ! -z "$(OBSOLETE_SUBDIRS)" ]] ; then \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
59 |
for i in $(OBSOLETE_SUBDIRS) ; do \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
60 |
if [[ -d $$i ]] ; then \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
61 |
if [[ -f $$i/Makefile ]] ; then \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
62 |
$(MAKE) $(MAKEFLAGS) subdirs OS_TARGET=clean OS_SUBDIRS=$$i ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
63 |
else ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
64 |
print "## removing obsolete build directories in open-src/$(DIRNAME)$$i..."; \ |
1466
fbd4067be4c6
19461700 Split source & build subdirectories in X builds
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1036
diff
changeset
|
65 |
($(START_CMD_ECHO) ; cd $$i && rm -rf unpacked-src build* .checksum* ) ; \ |
851
d428083dbbdd
6905171 X11R7.5 / Xorg 1.7.3 integration
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
810
diff
changeset
|
66 |
($(START_CMD_ECHO) ; rmdir $$i ) ; \ |
606
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
67 |
fi ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
68 |
fi ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
69 |
done ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
70 |
fi ; \ |
068c11b419c9
6582489 X11R7.4: Xorg server 1.5.3, Mesa 7.2, and associated driver updates
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
493
diff
changeset
|
71 |
return 0 |
810
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
72 |
|
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
73 |
# Dummy target to force another target to always be run, even if a file |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
74 |
# or directory with the same name already exists (as it will for subdirs) |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
75 |
ALWAYS_RUN: |
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
76 |
|
6f94d3da0552
6889793 enable parallel builds of the X consolidation
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
705
diff
changeset
|
77 |
# Tell dmake it can build subdirs in parallel |
1509
3161a3f7cef7
20578429 make clobber does not clean out obsolete subdirs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
1479
diff
changeset
|
78 |
.PARALLEL: $(OS_SUBDIRS) clean-subdirs clobber-subdirs clean-obsolete-subdirs |