forked from Arquivotheca/Solaris-2.5
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·153 lines (118 loc) · 3.53 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
150
151
152
#
#ident "@(#)Makefile 1.54 95/07/17 SMI"
#
# Copyright (c) 1989-1995, by Sun Microsystems, Inc.
# All rights reserved.
#
# Makefile for system source
#
# include global definitions
include Makefile.master
#
# the Targetdirs file is the AT&T target.dirs file in a makefile format.
# it defines TARGETDIRS and ROOTDIRS.
include Targetdirs
COMMON_SUBDIRS= uts lib stand psm uts/adb cmd devices ucblib ucbcmd
SUBDIRS= $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
HDRSUBDIRS= uts head lib cmd ucbhead
# UCB headers are bug-for-bug compatable and not checkable against the header
# standards.
#
CHKHDRSUBDIRS= head uts lib cmd
MSGSUBDIRS= cmd ucbcmd lib
DOMAINS= \
SUNW_OST_ADMIN \
SUNW_OST_NETRPC \
SUNW_OST_OSCMD \
SUNW_OST_OSLIB \
SUNW_OST_UCBCMD
MSGDDIRS= $(DOMAINS:%=$(MSGROOT)/%)
MSGDIRS= $(MSGROOT) $(MSGDDIRS) $(MSGROOT)/LC_TIME
all all_xmod := TARGET= all
install install_xmod := TARGET= install
install_h := TARGET= install_h
clean := TARGET= clean
clobber := TARGET= clobber
check := TARGET= check
_msg := TARGET= _msg
.KEEP_STATE:
#
# Note: install only builds the all target for the pkgdefs
# directory. We are not yet ready to have an install
# build create 'packages' also. To build packages
# cd pkgdefs and do a 'make install'
#
all: sgs $(SUBDIRS) pkg_all
install: sgs $(SUBDIRS) pkg_all
clean clobber: $(SUBDIRS) head pkgdefs
_msg: _msgdirs rootdirs _msgheaders $(MSGSUBDIRS)
# for a complete build from scratch
crankturn: sgs uts pkg_all
@cd lib; pwd; $(MAKE) install
@cd stand; $(MAKE) all
@cd psm; $(MAKE) all
@cd uts/adb; pwd; $(MAKE) all
@cd cmd; pwd; $(MAKE) all
@cd ucblib; pwd; $(MAKE) install
@cd ucbcmd; pwd; $(MAKE) all
pkg_all:
@cd pkgdefs; pwd; $(MAKE) all
#
# target for building a proto area for reference via the ROOT macro
#
protolibs: rootlibs ucblibs
# build all ucb libraries
#
ucblibs:
@cd ucblib; pwd; $(MAKE) install
# Base subset of rootproto, excluding ucb libraries
#
rootlibs: sgs
@cd lib; pwd; $(MAKE) install
# create target-variant symlinks
links:
@cd uts; pwd; $(MAKE) links
@cd lib/libc; pwd; $(MAKE) links
$(SUBDIRS) head ucbhead pkgdefs: FRC
@cd $@; pwd; $(MAKE) $(TARGET)
.PARALLEL: sysheaders userheaders libheaders cmdheaders ucbheaders
# librpcsvc has a dependency on headers installed by
# userheaders, hence the .WAIT before libheaders.
sgs: rootdirs .WAIT sysheaders userheaders .WAIT \
libheaders cmdheaders ucbheaders
# /var/mail/:saved is a special case because of the colon in the name.
#
rootdirs: $(ROOTDIRS)
$(INS) -d -m 775 $(ROOT)/var/mail/:saved
$(CH)$(CHOWN) root $(ROOT)/var/mail/:saved
$(CH)$(CHGRP) mail $(ROOT)/var/mail/:saved
_msgdirs: $(MSGDIRS)
$(ROOTDIRS) $(MSGDIRS):
$(INS.dir)
_msgheaders: userheaders sysheaders
@cd lib/libintl; pwd; $(MAKE) install_h
@cd lib/libtnf; pwd; $(MAKE) install_h
@cd lib/libtnfprobe; pwd; $(MAKE) install_h
userheaders: FRC
@cd head; pwd; $(MAKE) install_h
cmdheaders: FRC
@cd cmd; pwd; $(MAKE) install_h
libheaders: FRC
@cd lib; pwd; $(MAKE) install_h
sysheaders: FRC
@cd uts; pwd; $(MAKE) install_h
ucbheaders: FRC
@cd ucbhead; pwd; $(MAKE) install_h
# each xmod target depends on a corresponding MACH-specific pseudotarget
# before doing common xmod work
#
all_xmod install_xmod: $$@_$(MACH)
@cd uts/common/sys; pwd; $(MAKE) svvs_h
all_xmod_sparc install_xmod_sparc: FRC
@cd uts/sparc; pwd; \
$(MAKE) TARGET=$(TARGET) svvs pm wsdrv
@cd uts/sun4m; pwd; $(MAKE) TARGET=$(TARGET) cpr pmc
all_xmod_i386 install_xmod_i386: FRC
@cd uts/i86; pwd; $(MAKE) TARGET=$(TARGET) svvs
check: $(CHKHDRSUBDIRS)
FRC: