Makefile 5.41 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# Copyright 1998 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 LanManFS
#
# Paths
#
EXP_HDR = <export$dir>

Stewart Brodie's avatar
Stewart Brodie committed
21 22 23 24 25 26 27 28 29
#
# Component specific options:
#
COMPONENT  = LanManFS
ROM_MODULE = aof.${COMPONENT}
RAM_MODULE = rm.${COMPONENT}
DBG_MODULE = rm.${COMPONENT}D


30 31 32
#
# Generic options:
#
Neil Bingham's avatar
Neil Bingham committed
33
MKDIR   = mkdir -p
34 35 36 37 38 39 40 41 42 43 44 45 46 47
AS      = objasm
CC      = cc
CMHG    = cmhg
CP      = copy
LD      = link
RM      = remove
MODSQZ  = modsqz
WIPE    = -wipe
CD	= dir


CPFLAGS = ~cfr~v
WFLAGS  = ~c~v

Stewart Brodie's avatar
Stewart Brodie committed
48
DFLAGS    = -UTML -DCOMPAT_INET4 -DLONGNAMES
Stewart Brodie's avatar
Stewart Brodie committed
49 50 51 52 53
AFLAGS    = -depend !Depend ${THROWBACK} -Stamp -quit
CFLAGS    = -depend !Depend ${THROWBACK} -c -Wpcs -ff -zps1 -zM ${INCLUDES},. ${DFLAGS}
CMHGFLAGS = -depend !Depend ${THROWBACK} -p
INCLUDES  = -ITCPIPLibs:,C:

54 55 56 57 58 59 60 61 62 63 64 65
#
# Libraries
#
CLIB      = CLIB:o.stubs
RLIB      = RISCOSLIB:o.risc_oslib
RSTUBS    = RISCOSLIB:o.rstubs
ROMSTUBS  = RISCOSLIB:o.romstubs
ROMCSTUBS = RISCOSLIB:o.romcstubs
ABSSYM    = RISC_OSLib:o.AbsSym
INETLIB   = TCPIPLibs:o.inetlibzm
SOCKLIB   = TCPIPLibs:o.socklibzm
UNIXLIB   = TCPIPLibs:o.unixlibzm
Stewart Brodie's avatar
Stewart Brodie committed
66
DEBUGLIB  = C:DebugLib.o.DebugLibZM
67 68 69



Stewart Brodie's avatar
Stewart Brodie committed
70 71 72 73 74 75 76 77 78 79 80
OBJS      = LanMan.o Omni.o Logon.o CoreFn.o Printers.o NameCache.o \
            Xlate.o Interface.o RMInfo.o buflib.o Transact.o \
            LLC.o NetBIOS.o SMB.o Errors.o Attr.o RPC.o NBIP.o Stats.o LanMan_MH.o

ROM_OBJS  = or.LanMan or.Omni or.Logon or.CoreFn or.Printers or.NameCache \
            or.Xlate or.buflib  Interface.o RMInfo.o Errors.o or.Transact \
            or.LLC or.NetBIOS or.SMB or.Attr or.RPC or.NBIP or.Stats LanMan_MH.o 

#DBG_OBJS  = od.LanMan od.Omni od.Logon od.CoreFn od.Printers od.NameCache \
#            od.Xlate od.buflib  Interface.o RMInfo.o Errors.o o.Transact \
#            od.LLC od.NetBIOS od.SMB od.Attr od.RPC od.NBIP od.Stats LanMan_MH.o 
81

Stewart Brodie's avatar
Stewart Brodie committed
82 83 84 85 86 87 88 89
#DBG_OBJS  = od.LanMan od.Omni od.Logon od.CoreFn od.Printers od.NameCache \
#            od.Xlate od.buflib Interface.o RMInfo.o Errors.o od.Transact \
#            o.LLC o.NetBIOS od.SMB o.Attr od.RPC od.NBIP od.Stats LanMan_MH.o 

DBG_OBJS  = od.LanMan o.Omni o.Logon o.CoreFn o.Printers o.NameCache \
            o.Xlate o.buflib Interface.o RMInfo.o Errors.o o.Transact \
            o.LLC o.NetBIOS od.SMB o.Attr o.RPC o.NBIP o.Stats LanMan_MH.o 

Stewart Brodie's avatar
Stewart Brodie committed
90 91 92

OBJSI     = i.LanMan i.Omni i.Logon i.CoreFn i.Printers i.NameCache \
            i.Xlate i.buflib i.Transact \
93 94 95
            i.LLC i.NetBIOS i.SMB i.Attr i.RPC i.NBIP i.Stats

OBJSINST  = LanMan_MH.o inst.LanMan inst.Omni inst.Logon inst.CoreFn inst.Printers \
Stewart Brodie's avatar
Stewart Brodie committed
96 97 98 99 100 101
            inst.Xlate inst.buflib Interface.o RMInfo.o Errors.o inst.Transact\
            inst.NameCache\
            inst.LLC inst.NetBIOS inst.SMB inst.Attr inst.RPC inst.NBIP inst.Stats 

LanMan_MH.h: LanMan_MH.o
	${CMHG} ${CMHGFLAGS} cmhg.$* -d $@
102 103 104 105

#
# Rule patterns
#
Stewart Brodie's avatar
Stewart Brodie committed
106
.SUFFIXES:  .o .od .or .s .c .i .h .cmhg .inst
107
.c.o:;      ${CC} ${CFLAGS} -o $@ $<
Stewart Brodie's avatar
Stewart Brodie committed
108
.c.or:;      ${CC} ${CFLAGS} -DROM -o $@ $<
Stewart Brodie's avatar
Stewart Brodie committed
109
.c.od:;      ${CC} ${CFLAGS} -DDEBUG -DDEBUGLIB -DTRACE -Dprintf=module_printf -o $@ $<
110 111
.c.i:;		$(CC) $(CFLAGS) -c -C -E $< >> $@
.i.inst:;	$(CC) $(CFLAGS) -C++ -o $@ $<
Stewart Brodie's avatar
Stewart Brodie committed
112
.cmhg.o:;   ${CMHG} ${CMHGFLAGS} -o $@ $< -d $*.h
113 114 115 116 117
.s.o:;      ${AS} ${AFLAGS} $< $@

#
# Build target
#
Stewart Brodie's avatar
Stewart Brodie committed
118
all: ${RAM_MODULE}
119 120
	@echo ${COMPONENT}: all complete

Neil Bingham's avatar
Neil Bingham committed
121 122 123 124 125 126 127
install: ${RAM_MODULE} dirs
	${CP} ${RAM_MODULE} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
	@echo ${COMPONENT}: all complete

dirs:
	${MKDIR} ${INSTDIR}

128 129 130
#
# RISC OS ROM build rules:
#
Stewart Brodie's avatar
Stewart Brodie committed
131
rom: ${ROM_MODULE}
132 133
	@echo ${COMPONENT}: rom module built

Stewart Brodie's avatar
Stewart Brodie committed
134
preprocess: ${OBJSI} i.dirs
135 136
	@echo ${COMPONENT}: preprocess build complete

Stewart Brodie's avatar
Stewart Brodie committed
137 138 139
instrument: ${OBJSINST} inst.instlib i.dirs o.dirs 
	$(LD) -rmf -o $@ $(OBJSINST) inst.instlib $(STUBS)
	ModSqz $@
140 141
	@echo ${COMPONENT}: instrument build complete

Stewart Brodie's avatar
Stewart Brodie committed
142
o.dirs:
143
	${MKDIR} o
Stewart Brodie's avatar
Stewart Brodie committed
144 145 146 147 148
	${MKDIR} od
	${MKDIR} or
	create o.dirs

i.dirs:
149 150 151 152 153 154
	${MKDIR} i
	${MKDIR} inst

export: 
	@echo ${COMPONENT}: export complete

Stewart Brodie's avatar
Stewart Brodie committed
155 156
install_rom: ${ROM_MODULE}
	${CP} ${ROM_MODULE} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
157 158 159
	@echo ${COMPONENT}: rom module installed

clean:
Stewart Brodie's avatar
Stewart Brodie committed
160 161 162 163 164 165 166 167 168 169 170
	${WIPE} o ${WFLAGS}
	${WIPE} od ${WFLAGS}
	${WIPE} or ${WFLAGS}
	${WIPE} i ${WFLAGS}
	${WIPE} inst ${WFLAGS}
	${WIPE} map ${WFLAGS}
	${WIPE} linked ${WFLAGS}
	${WIPE} aof ${WFLAGS}
	${WIPE} rm ${WFLAGS}
	${RM} h.LanMan_MH
	${RM} NameCache
171 172 173 174 175
	@echo ${COMPONENT}: cleaned

#
# Target 
#
Stewart Brodie's avatar
Stewart Brodie committed
176 177
${RAM_MODULE}: ${OBJS} o.dirs
	${MKDIR} rm
178
	${LD} -o $@ -rmf ${OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} ${CLIB}
Stewart Brodie's avatar
Stewart Brodie committed
179 180 181 182 183
	${MODSQZ} $@
	Access $@ RW/R

${DBG_MODULE}: ${DBG_OBJS} o.dirs
	${MKDIR} rm
Stewart Brodie's avatar
Stewart Brodie committed
184
	${LD} -o $@ -rmf ${DBG_OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} ${DEBUGLIB} ${CLIB}
Stewart Brodie's avatar
Stewart Brodie committed
185
	${MODSQZ} $@
186 187 188 189

#
# ROM Target 
#
Stewart Brodie's avatar
Stewart Brodie committed
190 191 192
${ROM_MODULE}: ${ROM_OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} o.dirs
	${MKDIR} aof
	${LD} -o $@ -aof ${ROM_OBJS} ${ROMCSTUBS} ${UNIXLIB} ${INETLIB} ${SOCKLIB}
193 194 195 196 197 198
	
#
# Final link for the ROM Image (using given base address)
#
rom_link:
	${MKDIR} linked
Stewart Brodie's avatar
Stewart Brodie committed
199
	${LD} -o linked.${COMPONENT} -rmf -base ${ADDRESS} ${ROM_MODULE} ${ABSSYM}
200 201 202 203
	${CP} linked.${COMPONENT} ${LINKDIR}.${COMPONENT} ${CPFLAGS}
	@echo ${COMPONENT}: rom_link complete

# Dynamic dependencies: