Makefile 5.05 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#
# Generic options:
#
MKDIR   = cdir
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 49 50 51 52 53 54
# sbrodie 5/1/99: Define LANMANFS to enable use of NFS headers
DFLAGS    = -UTML -DCOMPAT_INET4 -DLANMANFS -DLONGNAMES
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:

55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
#
# 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
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
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 

OBJSI     = i.LanMan i.Omni i.Logon i.CoreFn i.Printers i.NameCache \
            i.Xlate i.buflib i.Transact \
88 89 90
            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
91 92 93 94 95 96
            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 $@
97 98 99 100

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

#
# Build target
#
Stewart Brodie's avatar
Stewart Brodie committed
113
all: ${RAM_MODULE}
114 115 116 117 118
	@echo ${COMPONENT}: all complete

#
# RISC OS ROM build rules:
#
Stewart Brodie's avatar
Stewart Brodie committed
119
rom: ${ROM_MODULE}
120 121
	@echo ${COMPONENT}: rom module built

Stewart Brodie's avatar
Stewart Brodie committed
122
preprocess: ${OBJSI} i.dirs
123 124
	@echo ${COMPONENT}: preprocess build complete

Stewart Brodie's avatar
Stewart Brodie committed
125 126 127
instrument: ${OBJSINST} inst.instlib i.dirs o.dirs 
	$(LD) -rmf -o $@ $(OBJSINST) inst.instlib $(STUBS)
	ModSqz $@
128 129
	@echo ${COMPONENT}: instrument build complete

Stewart Brodie's avatar
Stewart Brodie committed
130
o.dirs:
131
	${MKDIR} o
Stewart Brodie's avatar
Stewart Brodie committed
132 133 134 135 136
	${MKDIR} od
	${MKDIR} or
	create o.dirs

i.dirs:
137 138 139 140 141 142
	${MKDIR} i
	${MKDIR} inst

export: 
	@echo ${COMPONENT}: export complete

Stewart Brodie's avatar
Stewart Brodie committed
143 144
install_rom: ${ROM_MODULE}
	${CP} ${ROM_MODULE} ${INSTDIR}.${COMPONENT} ${CPFLAGS}
145 146 147
	@echo ${COMPONENT}: rom module installed

clean:
Stewart Brodie's avatar
Stewart Brodie committed
148 149 150 151 152 153 154 155 156 157 158
	${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
159 160 161 162 163
	@echo ${COMPONENT}: cleaned

#
# Target 
#
Stewart Brodie's avatar
Stewart Brodie committed
164 165
${RAM_MODULE}: ${OBJS} o.dirs
	${MKDIR} rm
166
	${LD} -o $@ -rmf ${OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} ${CLIB}
Stewart Brodie's avatar
Stewart Brodie committed
167 168 169 170 171 172 173
	${MODSQZ} $@
	Access $@ RW/R

${DBG_MODULE}: ${DBG_OBJS} o.dirs
	${MKDIR} rm
	${LD} -o $@ -rmf ${DBG_OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} ${CLIB}
	${MODSQZ} $@
174 175 176 177

#
# ROM Target 
#
Stewart Brodie's avatar
Stewart Brodie committed
178 179 180
${ROM_MODULE}: ${ROM_OBJS} ${UNIXLIB} ${INETLIB} ${SOCKLIB} o.dirs
	${MKDIR} aof
	${LD} -o $@ -aof ${ROM_OBJS} ${ROMCSTUBS} ${UNIXLIB} ${INETLIB} ${SOCKLIB}
181 182 183 184 185 186
	
#
# Final link for the ROM Image (using given base address)
#
rom_link:
	${MKDIR} linked
Stewart Brodie's avatar
Stewart Brodie committed
187
	${LD} -o linked.${COMPONENT} -rmf -base ${ADDRESS} ${ROM_MODULE} ${ABSSYM}
188 189 190 191
	${CP} linked.${COMPONENT} ${LINKDIR}.${COMPONENT} ${CPFLAGS}
	@echo ${COMPONENT}: rom_link complete

# Dynamic dependencies: