Makefile 3.67 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

#
# Generic options:
#
34
MKDIR   = mkdir -p
Neil Turton's avatar
Neil Turton committed
35
AS      = aasm
36 37
ARMASM  = objasm
LD      = link
Neil Turton's avatar
Neil Turton committed
38 39
CP      = copy
RM      = remove
40
WIPE    = -wipe
Neil Turton's avatar
Neil Turton committed
41
CCFLAGS = -c -depend !Depend -IC:
42 43
ASFLAGS = -depend !Depend ${THROWBACK} -Stamp -quit -To $@ -From
ARMASMFLAGS = -depend !Depend -g ${THROWBACK}
Neil Turton's avatar
Neil Turton committed
44
CPFLAGS = ~cfr~v
45
WFLAGS  = ~cfr~v
Neil Turton's avatar
Neil Turton committed
46 47 48 49 50 51 52 53 54

TOKENISE = tokenise
TOKENS   = Hdr:Tokens

#
# Program specific options:
#
COMPONENT = Kernel
SOURCE    = s.GetAll
55 56 57 58
TARGET    = rm.Kernel
AIFDBG    = aif.Kernel
GPADBG    = GPA
OBJECTS   = o.GetAll
Neil Turton's avatar
Neil Turton committed
59 60 61 62 63
EXPORTS   = ${EXP_HDR}.EnvNumbers \
            ${EXP_HDR}.ModHand \
            ${EXP_HDR}.PublicWS \
            ${EXP_HDR}.RISCOS \
            ${EXP_HDR}.Variables \
64
            ${EXP_HDR}.VduExt \
65 66
            ${EXP_HDR}.HALEntries \
            ${EXP_HDR}.OSEntries \
67
            ${C_EXP_HDR}.RISCOS
Neil Turton's avatar
Neil Turton committed
68 69 70 71

#
# Generic rules:
#
72 73 74
.SUFFIXES: .o .s
.s.o:; ${ARMASM} ${ARMASMFLAGS} -o $@ $<

Neil Turton's avatar
Neil Turton committed
75 76 77
rom: ${TARGET}
	@echo ${COMPONENT}: rom module built

78 79 80
debug: ${GPADBG}
	@echo ${COMPONENT}: debug image built

Neil Turton's avatar
Neil Turton committed
81 82 83 84 85
install_rom: ${TARGET}
	${CP} ${TARGET} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
	@echo ${COMPONENT}: rom module installed

clean:
86
	${RM} s.TMOSHelp
87 88 89 90
	${WIPE} o.* ${WFLAGS}
	${RM} ${TARGET}
	${WIPE} aif ${WFLAGS}
	${RM} ${GPADBG}
Neil Turton's avatar
Neil Turton committed
91 92 93 94 95
	@echo ${COMPONENT}: cleaned

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

Kevin Bracey's avatar
Kevin Bracey committed
96
resources: resources-${CMDHELP}
Neil Turton's avatar
Neil Turton committed
97 98
	@echo ${COMPONENT}: resource files copied

Kevin Bracey's avatar
Kevin Bracey committed
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
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 }

114 115 116 117 118 119 120 121
${TARGET}: ${OBJECTS}
	${LD} -bin -o ${TARGET} ${OBJECTS}

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

${GPADBG}: ${AIFDBG}
122
	ToGPA -s ${AIFDBG} ${GPADBG}
Neil Turton's avatar
Neil Turton committed
123 124 125 126

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

127 128
o.GetAll: s.TMOSHelp

Neil Turton's avatar
Neil Turton committed
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
#
# 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}
149
	
150 151 152 153 154 155
${EXP_HDR}.HALEntries: hdr.HALEntries
	${CP} hdr.HALEntries $@ ${CPFLAGS}
	
${EXP_HDR}.OSEntries: hdr.OSEntries
	${CP} hdr.OSEntries $@ ${CPFLAGS}
	
156 157 158
${C_EXP_HDR}.RISCOS: hdr.RISCOS
	${MKDIR} ${C_EXP_HDR}
	perl Build:Hdr2H hdr.RISCOS $@
Neil Turton's avatar
Neil Turton committed
159 160

# Dynamic dependencies: