head     1.1;
branch   ;
access   ;
symbols  ;
locks    jerryh:1.1; strict;
comment  @# @;


1.1
date     92.08.20.13.53.22;  author jerryh;  state Exp;
branches ;
next     ;


desc
@lmk file for strap.
@



1.1
log
@Initial revision
@
text
@###############################################################################
#
# lmkfile for strap
#
###############################################################################

#
# Server directory for the data...
#
VERSION= 39
REMOTE = V$(VERSION):src/kickstart/strap

#
# Name of the module
#
MODNAME = strap

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

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

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

#
# Assembler flags...  NOTE how they are used below...
#
AFLAGS  = -cqsy -i include:+V$(VERSION):include -o

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

.asm.o:
    @@Echo "$*.asm: " NOLINE
    $(AS) $*.asm $(AFLAGS) $*.o

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

#
# System libraries
#
LIBS= V$(VERSION):lib/small.lib V$(VERSION):lib/debug.lib V$(VERSION):lib/lattice/lc.lib

#
# My headers...
#
PUBLIC_HDR =    bootblock.i bootblock.h

MY_HDR  =   strap.i $(PUBLIC_HDR)

#
# My C source...
#
MY_C    =

#
# My Assebly source...
#
MY_A    =   residenttag.asm \
boot.asm \
endmodule.asm


#
# My object files...
#
MY_OBJS =   residenttag.o \
boot.o \
endmodule.o


#
# My library objects...
#
MY_LIB_OBJS =

#
# My library files...
#
MY_LIBS =


ALL:    $(LD_STRIP)

#
# 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 $(MODNAME).map HLSXF PLAIN SWIDTH 16
$(LFLAGS)
<

#
# Depend...
#
residenttag.o: residenttag.asm $(MY_HDR) $(MODNAME)_rev.i

boot.o:     boot.asm        $(MY_HDR)
endmodule.o:    endmodule.asm       $(MY_HDR)

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

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

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

#
# Release just the headers
#
headers:    $(PUBLIC_HDR)
    copy $(PUBLIC_HDR) V$(VERSION):include/devices NOPRO

#
# 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$(VERSION):doc NOPRO
    @@copy \#?.sfd V$(VERSION):lib/sfd NOPRO

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

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

$(MODNAME).doc: $(MY_C) $(MY_A)
    @@Echo "Making $(MODNAME).doc"
    @@JOIN <as RAM:$(MODNAME).cat ~? ~< <
    $(MY_A) $(MY_C) ;
    <
    @@AutoDoc >$(MODNAME).doc -a -C -s -l78 RAM:$(MODNAME).cat
    @@Delete RAM:$(MODNAME).cat 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)

#
# 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..."
@
