head     39.8;
branch   ;
access   ;
symbols  V40_2:39.8 V40_1:39.7 V39_8:39.6 V39_7:39.4 V39_6:39.4 V39_5:39.4 V39_4:39.4 V39_3:39.4 V39_2:39.3 V39_1:39.1;
locks    ; strict;
comment  @# @;


39.8
date     93.05.18.10.30.25;  author mks;  state Exp;
branches ;
next     39.7;

39.7
date     93.02.09.13.38.51;  author mks;  state Exp;
branches ;
next     39.6;

39.6
date     92.11.17.11.02.09;  author mks;  state Exp;
branches ;
next     39.5;

39.5
date     92.11.13.09.12.08;  author mks;  state Exp;
branches ;
next     39.4;

39.4
date     92.04.27.09.08.31;  author mks;  state Exp;
branches ;
next     39.3;

39.3
date     92.03.12.11.16.24;  author mks;  state Exp;
branches ;
next     39.2;

39.2
date     92.03.12.11.12.36;  author mks;  state Exp;
branches ;
next     39.1;

39.1
date     91.10.29.15.32.35;  author mks;  state Exp;
branches ;
next     39.0;

39.0
date     91.10.28.16.30.17;  author mks;  state Exp;
branches ;
next     ;


desc
@Expansion V39
@


39.8
log
@Updated to include A4000 rathern than A1000
@
text
@###############################################################################
#
# lmkfile for expansion.library
#
###############################################################################

#
# Server directory for the data...
#
REMOTE = V:src/kickstart/expansion
VERSION= 40

#
# Name of the module
#
MODNAME	= expansion

#
# The ".LD" file we want to produce.
#
LD_FILE	= $(MODNAME).ld$(TYPE)
LD_STRIP= $(MODNAME).ld.strip$(TYPE)
MAP_FILE= $(MODNAME).map$(TYPE)

#
# Magic loop-back to do the various versions
#
ALL:
	lmk -s TYPE=.a3000 MACHINE=MACHINE_A3000 LOC=LOC_F8 $(LD_STRIP).a3000
	lmk -s TYPE=       MACHINE=MACHINE_A2000 LOC=LOC_F8 $(LD_STRIP)
	lmk -s TYPE=.20    MACHINE=MACHINE_A2000 LOC=LOC_20 $(LD_STRIP).20
	lmk -s TYPE=.F0    MACHINE=MACHINE_A2000 LOC=LOC_F0 $(LD_STRIP).F0
	lmk -s TYPE=.a4000 MACHINE=MACHINE_A4000 LOC=LOC_F8 $(LD_STRIP).a4000
	lmk -s TYPE=.a1200 MACHINE=MACHINE_A1200 LOC=LOC_F8 $(LD_STRIP).a1200

#
# Compiler, assembler, and linker
#
CC = lc
AS = hx68 -a
LN = blink

#
# Compiler flags...
#
CFLAGS	= -b0 -v -me -ms -cfistqm -d1 -O

#
# Assembler flags...  NOTE how they are used below...
#
AFLAGS	= -cqs -i include: -o

#
# Default rules...
#
.c.o:
	$(CC) $(CFLAGS) $*.c

.asm.o:
	$(AS) $*.asm $(AFLAGS) $*.o

#
# Linker flags
#
LFLAGS		= SMALLCODE SMALLDATA
LFLAGS_STRIP	= ND

#
# System libraries
#
LIBS= LIB:small.lib LIB:debug.lib

#
# My headers...
#
MY_HDR	=

#
# My C source...
#
MY_C	=

#
# My Assebly source...
#
MY_A	=	abs.asm \
		vers.asm \
		endcode.asm \
		config.asm \
		utils.asm \
		disks.asm

#
# My object files...
#
MY_OBJS=	vers.o \
		abs.o \
		config.o$(TYPE) \
		utils.o \
		disks.o \
		endcode.o

#
# My library objects...
#
MY_LIB_OBJS =

#
# My library files...
#
MY_LIBS	=


#
# Build the stripped LD file...
#
$(LD_STRIP):	$(LD_FILE)
	$(LN) FROM $(LD_FILE) TO $(LD_STRIP) $(LFLAGS_STRIP)

#
# Build the various versions
#
$(LD_FILE):	$(MY_OBJS)
	$(LN) <with <
FROM $(MY_OBJS)
TO $(LD_FILE)
LIB $(MY_LIBS) $(LIBS)
MAP $(MAP_FILE) HLSXF PLAIN SWIDTH 16
$(LFLAGS)
<

#
# Bump the version...
#
version:
	@@bumprev $(VERSION) $(MODNAME)_rev

$(MODNAME)_rev.i:
	@@bumprev $(VERSION) $(MODNAME)_rev

$(MODNAME)_rev.h:
	@@bumprev $(VERSION) $(MODNAME)_rev

#
# The following files need to be made for each of the ROM versions
#
# config.asm
#
config.o$(TYPE):	config.asm romconstants.i
	$(AS) $*.asm $(AFLAGS) $*.o$(TYPE) -D $(MACHINE)=1 -D $(LOC)=1

vers.o:	vers.asm $(MODNAME)_rev.i

#
# Release the current build to the server
#
internal:
	@@delete $(REMOTE)/((\#?.(c|h|asm|i|rev|doc|sfd|ld|ld.\#?))|makefile|lmkfile)
	@@protect ((\#?.(c|h|asm|i|ld|rev|doc|sfd))|makefile|lmkfile) +r quiet
	@@copy ((\#?.(c|h|asm|i|rev|doc|sfd|ld|ld.\#?))|makefile|lmkfile) $(REMOTE)
	@@copy \#?.doc V:doc NOPRO
	@@copy \#?.sfd V:lib/sfd NOPRO

#
# Blow away all files that would need to be rebuilt
#
clean:
	@@delete (\#?.o|\#?.o.\#?|$(MODNAME).doc|$(MODNAME).ld\#?|$(MODNAME).map\#?)

#
# Make the AutoDocs
#
doc:	$(MODNAME).doc

$(MODNAME).doc:	$(MY_C) $(MY_A)
	@@Echo "Making $(MODNAME).doc"
	@@Join $(MY_C) $(MY_A) as RAM:$(MODNAME).tmp.doc
	@@AutoDoc >$(MODNAME).doc RAM:$(MODNAME).tmp.doc
	@@Delete RAM:$(MODNAME).tmp.doc QUIET
	@@Protect $(MODNAME).doc rwd

#
# Make a complete new release (This still is in testing...)
#
release:
	lmk clean
	lmk version
	lmk doc
	lmk $(LD_FILE)
	lmk $(LD_STRIP)
	lmk internal

#
# The following rule is to bring the source down to the local directory
# To do the following you should copy this LMKfile to the local directory
# and make sure it is readable.  Then type MAKE ToLocal to have the
# code copied down...
#
tolocal:
	@@protect \#? rwed QUIET
	@@copy $(REMOTE)/\#? ""
	@@protect \#? +r QUIET
	@@protect \#?_rev\#? rwd QUIET
	@@Echo "Local is updated..."
@


39.7
log
@Changed to V40
@
text
@d33 1
a33 1
	lmk -s TYPE=.a1000 MACHINE=MACHINE_A1000 LOC=LOC_F8 $(LD_STRIP).a1000
@


39.6
log
@Added support for building the A1200 expansion
@
text
@d11 1
a11 1
VERSION= 39
@


39.5
log
@Removed the broken AddSYM from the LINK options
@
text
@d34 1
@


39.4
log
@Cleaned up a bit
@
text
@d64 1
a64 1
LFLAGS		= ADDSYM SMALLCODE SMALLDATA
@


39.3
log
@Cleaned up the "MAKE CLEAN" line for map files
@
text
@d50 1
a50 1
AFLAGS	= -cqsy -i include: -o
@


39.2
log
@Now easier to maintain makefile for the multiple versions
@
text
@d167 1
a167 1
	@@delete (\#?.o|\#?.o.\#?|$(MODNAME).doc|$(MODNAME).ld\#?|\#?.map)
@


39.1
log
@Fixed case problem with A3000 build
@
text
@a4 2
# $Id: lmkfile,v 39.0 91/10/28 16:30:17 mks Exp Locker: mks $
#
d21 13
a33 2
LD_FILE	= $(MODNAME).ld
LD_STRIP= $(MODNAME).ld.strip
a58 1
	@@Echo "$*.asm: " NOLINE
d85 5
a89 1
MY_A	=	abs.asm vers.asm endcode.asm config.asm utils.asm \
d95 6
a100 3
MY_OBJS_A2000_F8=	vers.o abs.o config.o

MY_OBJS_A3000_F8=	vers.o abs.o config.o.a3000
a101 6
MY_OBJS_A2000_20=	vers.o abs.o config.o.20

MY_OBJS_A2000_F0=	vers.o abs.o config.o.F0

MY_OBJS_OTHER=	utils.o disks.o endcode.o

a112 5
ALL:	$(LD_STRIP) \
	$(LD_STRIP).a3000 \
	$(LD_STRIP).20 \
	$(LD_STRIP).F0

a118 9
$(LD_STRIP).a3000:	$(LD_FILE).a3000
	$(LN) FROM $(LD_FILE).a3000 TO $(LD_STRIP).a3000 $(LFLAGS_STRIP)

$(LD_STRIP).20:	$(LD_FILE).20
	$(LN) FROM $(LD_FILE).20 TO $(LD_STRIP).20 $(LFLAGS_STRIP)

$(LD_STRIP).F0:	$(LD_FILE).F0
	$(LN) FROM $(LD_FILE).F0 TO $(LD_STRIP).F0 $(LFLAGS_STRIP)

d122 1
a122 1
$(LD_FILE):	$(MY_OBJS_A2000_F8)	$(MY_OBJS_OTHER)
d124 1
a124 1
FROM $(MY_OBJS_A2000_F8)	$(MY_OBJS_OTHER)
d127 1
a127 28
MAP $(MODNAME).map HLSXF PLAIN SWIDTH 16
$(LFLAGS)
<

$(LD_FILE).a3000:	$(MY_OBJS_A3000_F8)	$(MY_OBJS_OTHER)
	$(LN) <with <
FROM $(MY_OBJS_A3000_F8)	$(MY_OBJS_OTHER)
TO $(LD_FILE).a3000
LIB $(MY_LIBS) $(LIBS)
MAP $(MODNAME).map.a3000 HLSXF PLAIN SWIDTH 16
$(LFLAGS)
<

$(LD_FILE).20:	$(MY_OBJS_A2000_20)	$(MY_OBJS_OTHER)
	$(LN) <with <
FROM $(MY_OBJS_A2000_20)	$(MY_OBJS_OTHER)
TO $(LD_FILE).20
LIB $(MY_LIBS) $(LIBS)
MAP $(MODNAME).map.20 HLSXF PLAIN SWIDTH 16
$(LFLAGS)
<

$(LD_FILE).F0:	$(MY_OBJS_A2000_F0)	$(MY_OBJS_OTHER)
	$(LN) <with <
FROM $(MY_OBJS_A2000_F0)	$(MY_OBJS_OTHER)
TO $(LD_FILE).F0
LIB $(MY_LIBS) $(LIBS)
MAP $(MODNAME).map.F0 HLSXF PLAIN SWIDTH 16
d148 2
a149 15
config.o:	config.asm romconstants.i
	@@Echo "$*.asm: " NOLINE
	$(AS) $*.asm $(AFLAGS) $*.o -D MACHINE_A2000=1 -D LOC_F8=1

config.o.20:	config.asm romconstants.i
	@@Echo "$*.asm: " NOLINE
	$(AS) $*.asm $(AFLAGS) $*.o.20 -D MACHINE_A2000=1 -D LOC_20=1

config.o.F0:	config.asm romconstants.i
	@@Echo "$*.asm: " NOLINE
	$(AS) $*.asm $(AFLAGS) $*.o.F0 -D MACHINE_A2000=1 -D LOC_F0=1

config.o.a3000:	config.asm romconstants.i
	@@Echo "$*.asm: " NOLINE
	$(AS) $*.asm $(AFLAGS) $*.o.a3000 -D MACHINE_A3000=1 -D LOC_F8=1
d167 1
a167 1
	@@delete (\#?.o|\#?.o.\#?|$(MODNAME).doc|$(MODNAME).ld\#?)
@


39.0
log
@First release of native build V39 expansion code
@
text
@d5 1
a5 1
# $Id$
d85 1
a85 1
MY_OBJS_A3000_F8=	vers.o abs.o config.o.A3000
d105 1
a105 1
	$(LD_STRIP).A3000 \
d115 2
a116 2
$(LD_STRIP).A3000:	$(LD_FILE).A3000
	$(LN) FROM $(LD_FILE).A3000 TO $(LD_STRIP).A3000 $(LFLAGS_STRIP)
d136 1
a136 1
$(LD_FILE).A3000:	$(MY_OBJS_A3000_F8)	$(MY_OBJS_OTHER)
d139 1
a139 1
TO $(LD_FILE).A3000
d141 1
a141 1
MAP $(MODNAME).map.A3000 HLSXF PLAIN SWIDTH 16
d192 1
a192 1
config.o.A3000:	config.asm romconstants.i
d194 1
a194 1
	$(AS) $*.asm $(AFLAGS) $*.o.A3000 -D MACHINE_A3000=1 -D LOC_F8=1
@
