ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/basics.mk
Revision: 1.17.2.16
Committed: Wed Oct 13 16:01:18 1999 UTC (25 years, 7 months ago) by williamc
Branch: V0_9branch
Changes since 1.17.2.15: +8 -0 lines
Log Message:
update help

File Contents

# Content
1 #
2 # Preliminaries
3 #
4 LIBDIR=$(LOCALTOP)/lib/$(SCRAM_ARCH) $(RELEASETOP)/lib/$(SCRAM_ARCH) $(PRIORITY_LIBDIR)
5
6 CXXFLAGS+=$(CXXUSERFLAGS)
7
8 #
9 # Make sure nobody tries to run this directly through gmake
10 #
11 ifndef DefaultMakefile
12 all: exit
13 endif
14
15
16 # -- storage of libraries
17 librarystore:=$(LOCALTOP)/$(INTlib)
18
19 libsavaillocal=$(notdir $(wildcard $(librarystore)/*))
20 libsavailbase=$(notdir $(wildcard $(RELEASETOP)/$(INTlib)/*))
21 libsavail=$(sort $(libsavailbase) $(libsavaillocal))
22 libslocal=$(foreach var,$(lib),$(filter lib$(var).a, $(libsavail)))
23 libslocal_I=$(foreach var,$(lib_I),$(filter lib$(var).a, $(libsavail)))
24 libslocal_d=$(foreach var,$(lib_d),$(filter lib$(var).a, $(libsavail)))
25
26 #
27 # Pointing to file storage locations for the various types
28 #
29 # -- src code and unspecified types
30 VPATH:=$(LOCALTOP)/$(ClassDir):$(RELEASETOP)/$(ClassDir)
31 # -- .o files will be kept in the working directory
32 vpath %.o $(LOCALTOP)/$(workdir):$(RELEASETOP)/$(workdir)
33
34 #
35 ifdef ReqDependencies
36 always:$(LOCALTOP)/$(workdir)/PackageReqs
37 $(LOCALTOP)/$(workdir)/PackageReqs:$(ReqDependencies)
38 $(TOOL_HOME)/BuildPackageReqs $@ $?
39 endif
40
41
42 #
43 # Get local mods
44 #
45 ifdef LatestBuildFile
46 include ${LatestBuildFile}
47 endif
48
49 #
50 # get build requirements Class
51 #
52 ifdef DefaultBuildFile
53 include ${DefaultBuildFile}
54 endif
55
56 #
57 # Group Settings
58 #
59 ifdef SCRAM_GROUPSDIR
60 -include $(SCRAM_GROUPSDIR)
61 endif
62
63 # Site settings
64 #
65 clientmakefile=$(LOCALTOP)/$(INTwork)/clientmakefile
66 -include $(clientmakefile)
67
68 #
69 # get build targets
70 #
71 include ${TOOL_HOME}/compilers.mk
72 include ${TOOL_HOME}/toolrules.mk
73
74
75 #
76 # -- Some tool setups which dont yet have a home
77 #
78 CPPFLAGS += $(addprefix -I,$(PRIORITY_INCLUDE)) $(INCLUDEPATH)
79
80
81 #
82 # now add our includepath
83 #
84 INCLUDEPATH+=-I$(LOCALTOP)/${INTsrc} -I$(RELEASETOP)/${INTsrc}
85
86 #
87 # Dependency information
88 #
89 -include dependencies.mk
90
91 #dependencies.mk :: $(clientmakefile)
92 #
93 # Process Subdirs
94 #
95 ifdef SUBDIRS
96 $(SUBDIRS)::
97 @echo ------- Building ---- $@ -----------
98 @if [ -d $(LOCALTOP)/$(ClassDir)/$@ ]; then \
99 cd $(LOCALTOP)/$(ClassDir)/$@; $(TOOL_HOME)/scram build; \
100 else echo SCRAM Warning : $@ does not exist; \
101 fi
102 endif
103
104
105 #HELPINCLUDEMAKEFILES := ${DefaultBuildFile} ${TOOL_HOME}/toolrules.mk
106
107 #
108 #
109 # -- Some error trapping and debug targets
110 #
111
112 dummy:
113
114
115 help::
116 @echo "--------------------------------------------------------"
117 ifndef BINMODE
118 help::
119 @echo "General Targets"
120 @echo "---------------"
121 @echo "clean - clean out the corresponding working directory"
122 @echo "echo_VAR - debugging target, prints out the value of the given scram variable"
123 @echo "-----------------"
124 endif
125
126 exit:
127 @echo "Please Use Scram. Do not use gmake directly."
128 @exit 1
129
130 echo_%:
131 @echo "$(subst echo_,,$@) = $($(subst echo_,,$@))"
132
133
134 #
135 # Other non-critical targets
136 #
137
138 TAGS:
139 etags -o TAGS $(files) $(binfiles)
140
141 tags:
142 ctags -o tags $(files) $(binfiles)
143
144 #
145 #
146 # clean targets
147 #
148
149 # make sure the variables will be set before rm -r by ensuring that
150 # it has come through the wrapper script
151
152 ifdef DefaultMakefile
153 clean::
154 @echo Cleaning working folder $(workdir)
155 ifdef LOCALTOP
156 ifdef workdir
157 @rm -rf $(LOCALTOP)/$(workdir)/*
158 endif
159 endif
160
161 very_clean:
162 @echo Cleaning all working folders in $(INTwork)
163 @cd $(LOCALTOP)/$(INTwork)
164 ifdef LOCALTOP
165 ifdef workdir
166 @rm -rf $(LOCALTOP)/$(INTwork)/*
167 endif
168 endif
169 endif