Makefile 6.23 KB
Newer Older
Neil Turton's avatar
Neil Turton committed
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
# Copyright 1996 Acorn Computers Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Makefile for Kernel
#
# ***********************************
# ***    C h a n g e   L i s t    ***
# ***********************************
# Date       Name         Description
# ----       ----         -----------
# 25-May-94  AMcC         Created.
#

#
# Paths
#
EXP_HDR = <export$dir>
29
C_EXP_HDR = <cexport$dir>.Global.h
Neil Turton's avatar
Neil Turton committed
30

31 32 33 34 35
# Override this to "TRUE" in the components file if
# you want an odd-numbered (development) build to be
# a 'freezable' build - e.g. with no ROM debug output
FREEZE_DEV_REL ?= FALSE

Neil Turton's avatar
Neil Turton committed
36 37 38
#
# Generic options:
#
39
MKDIR   = mkdir -p
Neil Turton's avatar
Neil Turton committed
40
AS      = aasm
41 42
ARMASM  = objasm
LD      = link
Neil Turton's avatar
Neil Turton committed
43 44
CP      = copy
RM      = remove
Robert Sprowson's avatar
Robert Sprowson committed
45
XWIPE   = x wipe
46
PERL    = do <Perl$Dir>.perl
Neil Turton's avatar
Neil Turton committed
47
CCFLAGS = -c -depend !Depend -IC:
48
ASFLAGS = -depend !Depend ${THROWBACK} -Stamp -quit -To $@ -From
49
ARMASMFLAGS = -depend !Depend -PD "FreezeDevRel SETL {${FREEZE_DEV_REL}}" -g ${THROWBACK}
Neil Turton's avatar
Neil Turton committed
50
CPFLAGS = ~cfr~v
51
WFLAGS  = ~cfr~v
Neil Turton's avatar
Neil Turton committed
52 53 54 55 56 57 58 59 60

TOKENISE = tokenise
TOKENS   = Hdr:Tokens

#
# Program specific options:
#
COMPONENT = Kernel
SOURCE    = s.GetAll
61 62 63
TARGET    = rm.Kernel
AIFDBG    = aif.Kernel
GPADBG    = GPA
64
OBJECTS   = o.GetAll #o.ARMops o.End
Neil Turton's avatar
Neil Turton committed
65 66 67 68 69
EXPORTS   = ${EXP_HDR}.EnvNumbers \
            ${EXP_HDR}.ModHand \
            ${EXP_HDR}.PublicWS \
            ${EXP_HDR}.RISCOS \
            ${EXP_HDR}.Variables \
70
            ${EXP_HDR}.VduExt \
71
            ${EXP_HDR}.HALEntries \
Kevin Bracey's avatar
Kevin Bracey committed
72
            ${EXP_HDR}.HALDevice \
73
            ${EXP_HDR}.VideoDevice \
74
            ${EXP_HDR}.GPIODevice \
75
            ${EXP_HDR}.OSEntries \
76
            ${EXP_HDR}.OSRSI6 \
Jeffrey Lee's avatar
Jeffrey Lee committed
77
            ${EXP_HDR}.VIDCList \
78
            ${C_EXP_HDR}.ModHand \
Kevin Bracey's avatar
Kevin Bracey committed
79
            ${C_EXP_HDR}.RISCOS \
Ben Avison's avatar
Ben Avison committed
80
            ${C_EXP_HDR}.HALEntries \
81
            ${C_EXP_HDR}.HALDevice \
82
            ${C_EXP_HDR}.OSEntries \
83
            ${C_EXP_HDR}.Variables \
84
            ${C_EXP_HDR}.OSRSI6 \
Jeffrey Lee's avatar
Jeffrey Lee committed
85 86
            ${C_EXP_HDR}.VduExt \
            ${C_EXP_HDR}.VIDCList
Neil Turton's avatar
Neil Turton committed
87 88 89 90

#
# Generic rules:
#
91
.SUFFIXES: .o .s
92
.s.o:; ${ARMASM} ${ARMASMFLAGS} -o $@ $< #-list list.$*
93

Neil Turton's avatar
Neil Turton committed
94 95 96
rom: ${TARGET}
	@echo ${COMPONENT}: rom module built

97 98 99
debug: ${GPADBG}
	@echo ${COMPONENT}: debug image built

Neil Turton's avatar
Neil Turton committed
100 101 102 103 104
install_rom: ${TARGET}
	${CP} ${TARGET} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
	@echo ${COMPONENT}: rom module installed

clean:
105
	${RM} s.TMOSHelp
Robert Sprowson's avatar
Robert Sprowson committed
106
	${XWIPE} o.* ${WFLAGS}
107
	${RM} ${TARGET}
Robert Sprowson's avatar
Robert Sprowson committed
108
	${XWIPE} aif ${WFLAGS}
109
	${RM} ${GPADBG}
Robert Sprowson's avatar
Robert Sprowson committed
110
	${XWIPE} list.* ${WFLAGS}
Neil Turton's avatar
Neil Turton committed
111 112 113 114 115
	@echo ${COMPONENT}: cleaned

export: ${EXPORTS}
	@echo ${COMPONENT}: export complete

Kevin Bracey's avatar
Kevin Bracey committed
116
resources: resources-${CMDHELP}
Neil Turton's avatar
Neil Turton committed
117 118
	@echo ${COMPONENT}: resource files copied

Kevin Bracey's avatar
Kevin Bracey committed
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
resources_common:
	${MKDIR} ${RESDIR}.${COMPONENT}
	Set Kernel$Messages LocalRes:Messages
	IfThere LocalRes:<UserIF>.Messages Then Set Kernel$Messages LocalRes:<UserIF>.Messages
	TokenCheck LocalRes:<UserIF>.Messages
	${CP} <Kernel$Messages>  ${RESDIR}.${COMPONENT}.Messages  ${CPFLAGS}
	UnSet Kernel$Messages

resources-None: resources_common
	@

resources-: resources_common
	TokenCheck LocalRes:Messages
	print LocalRes:CmdHelp { >> ${RESDIR}.${COMPONENT}.Messages }

134 135 136 137 138 139 140 141
${TARGET}: ${OBJECTS}
	${LD} -bin -o ${TARGET} ${OBJECTS}

${AIFDBG}: ${OBJECTS}
	${MKDIR} aif
	${LD} -aif -bin -d -o ${AIFDBG} ${OBJECTS}

${GPADBG}: ${AIFDBG}
142
	ToGPA -s ${AIFDBG} ${GPADBG}
Neil Turton's avatar
Neil Turton committed
143 144 145 146

s.TMOSHelp: ${TOKENS} HelpStrs
	${TOKENISE} ${TOKENS} HelpStrs $@

147
o.GetAll: s.TMOSHelp
148

Neil Turton's avatar
Neil Turton committed
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
#
# Exported interface headers
#
${EXP_HDR}.EnvNumbers: hdr.EnvNumbers
	${CP} hdr.EnvNumbers $@ ${CPFLAGS}

${EXP_HDR}.ModHand: hdr.ModHand
	${CP} hdr.ModHand $@ ${CPFLAGS}

${EXP_HDR}.PublicWS: hdr.PublicWS
	${CP} hdr.PublicWS $@ ${CPFLAGS}

${EXP_HDR}.RISCOS: hdr.RISCOS
	${CP} hdr.RISCOS $@ ${CPFLAGS}

${EXP_HDR}.VduExt: hdr.VduExt
	${CP} hdr.VduExt $@ ${CPFLAGS}

${EXP_HDR}.Variables: hdr.Variables
	${CP} hdr.Variables $@ ${CPFLAGS}
169
	
170 171 172
${EXP_HDR}.HALEntries: hdr.HALEntries
	${CP} hdr.HALEntries $@ ${CPFLAGS}
	
Kevin Bracey's avatar
Kevin Bracey committed
173 174 175
${EXP_HDR}.HALDevice: hdr.HALDevice
	${CP} hdr.HALDevice $@ ${CPFLAGS}
	
176 177 178
${EXP_HDR}.OSEntries: hdr.OSEntries
	${CP} hdr.OSEntries $@ ${CPFLAGS}
	
Jeffrey Lee's avatar
Jeffrey Lee committed
179 180 181
${EXP_HDR}.VideoDevice: hdr.VideoDevice
	${CP} hdr.VideoDevice $@ ${CPFLAGS}
	
182 183 184
${EXP_HDR}.GPIODevice: hdr.GPIODevice
	${CP} hdr.GPIODevice $@ ${CPFLAGS}
	
185 186 187
${EXP_HDR}.OSRSI6: hdr.OSRSI6
	${CP} hdr.OSRSI6 $@ ${CPFLAGS}
	
Jeffrey Lee's avatar
Jeffrey Lee committed
188 189 190
${EXP_HDR}.VIDCList: hdr.VIDCList
	${CP} hdr.VIDCList $@ ${CPFLAGS}
	
191 192 193 194
${C_EXP_HDR}.ModHand: hdr.ModHand
	${MKDIR} ${C_EXP_HDR}
	${PERL} Build:Hdr2H hdr.ModHand $@

195 196
${C_EXP_HDR}.RISCOS: hdr.RISCOS
	${MKDIR} ${C_EXP_HDR}
197
	${PERL} Build:Hdr2H hdr.RISCOS $@
Neil Turton's avatar
Neil Turton committed
198

Kevin Bracey's avatar
Kevin Bracey committed
199 200
${C_EXP_HDR}.HALEntries: hdr.HALEntries
	${MKDIR} ${C_EXP_HDR}
201
	${PERL} Build:Hdr2H hdr.HALEntries $@
Kevin Bracey's avatar
Kevin Bracey committed
202

Ben Avison's avatar
Ben Avison committed
203 204 205 206
${C_EXP_HDR}.HALDevice: o.Global.h.HALDevice h.HALDevice
	${CP} h.HALDevice $@ ${CPFLAGS}
	print o.Global.h.HALDevice { >> $@ }

207 208 209
${C_EXP_HDR}.OSEntries: o.Global.h.OSEntries h.OSEntries
	${CP} h.OSEntries $@ ${CPFLAGS}
	print o.Global.h.OSEntries { >> $@ }
210

211 212
${C_EXP_HDR}.Variables: hdr.Variables
	${MKDIR} ${C_EXP_HDR}
213
	${PERL} Build:Hdr2H hdr.Variables $@
214

215 216 217 218
${C_EXP_HDR}.OSRSI6: hdr.OSRSI6
	${MKDIR} ${C_EXP_HDR}
	${PERL} Build:Hdr2H hdr.OSRSI6 $@

219 220 221 222
${C_EXP_HDR}.VduExt: hdr.VduExt
	${MKDIR} ${C_EXP_HDR}
	${PERL} Build:Hdr2H hdr.VduExt $@

Jeffrey Lee's avatar
Jeffrey Lee committed
223 224 225 226
${C_EXP_HDR}.VIDCList: o.Global.h.VIDCList h.VIDCList
	${CP} h.VIDCList $@ ${CPFLAGS}
	print o.Global.h.VIDCList { >> $@ }

Ben Avison's avatar
Ben Avison committed
227 228 229
o.Global.h.HALDevice: hdr.HALDevice
	${MKDIR} o.Global.h
	dir o
230
	${PERL} Build:Hdr2H ^.hdr.HALDevice Global.h.HALDevice
Ben Avison's avatar
Ben Avison committed
231 232
	back

233 234 235 236 237 238
o.Global.h.OSEntries: hdr.OSEntries
	${MKDIR} o.Global.h
	dir o
	${PERL} Build:Hdr2H ^.hdr.OSEntries Global.h.OSEntries
	back

Jeffrey Lee's avatar
Jeffrey Lee committed
239 240 241 242 243 244
o.Global.h.VIDCList: hdr.VIDCList
	${MKDIR} o.Global.h
	dir o
	${PERL} Build:Hdr2H ^.hdr.VIDCList Global.h.VIDCList
	back

Ben Avison's avatar
Ben Avison committed
245 246 247 248 249 250 251
BBETYPE = kernel
bbe-kernel: bbe-generic-resources-get-alias
	BBE_Export_File_In_Dir Resources.${LOCALE} CmdHelp
	BBE_Export_File_In_Dir Resources.${LOCALE} Messages
	BBE_Export_Dir Resources.${LOCALE}.${USERIF}
	BBE_Export_File VersionNum

Neil Turton's avatar
Neil Turton committed
252
# Dynamic dependencies: