#=======================================================================
#     makefile for LSI C-86 Ver.3.20 small model
#
#                                               H.Yoshizaki 1991/03/03
#=======================================================================

.SUFFIXES: .asm

OBJ1 = mn.obj files.obj match.obj util.obj header.obj getopt.obj
OBJ2 = list.obj append.obj extract.obj dosio.obj error.obj path.obj
OBJ3 = security.obj

OBJA = vhuf_.obj slide_.obj huf_.obj dhuf_.obj maketre_.obj maketbl_.obj \
       crcio_.obj larc_.obj shuf_.obj _cnvtime.obj disp.obj \
       dspmrk_.obj self.obj sfx.obj
OBJJ = mes_j.obj use_j.obj
OBJE = mes_e.obj use_e.obj

lha.exe : $(OBJ1) $(OBJ2) $(OBJA) $(OBJJ)
	lcc @${-g -o$@ -ltinymain.obj $#}

lha_e : lha_e.exe

lha_e.exe : $(OBJ1) $(OBJ2) $(OBJA) $(OBJE)
	lcc @${-g -o$@ -ltinymain.obj $#}

sfx.h : sfx_.bin
	grep "#" sfx_.map | sed "s/^.*:\(....\) *#\(.*\)$$/#define A_\2 (0x\1 - 0x0100)/" > sfx.h
	echo extern char sfx[]; >> sfx.h

sfx_.bin : sfx_.asm
	optasm sfx_/zd/ml;
	link sfx_,,sfx_/m/noi/li;
	exe2bin sfx_
	rm $*.obj
	rm $*.exe

sfx.asm : sfx_.bin
	lha a $* $#
	lzh2asm $*.lzh $@
	rm $*.lzh

use_j.asm : use_j.
	lha a $* $#
	lzh2asm $*.lzh $@
	rm $*.lzh

use_e.asm : use_e.
	lha a $* $#
	lzh2asm $*.lzh $@
	rm $*.lzh

.c.obj:
	lcc -c -g -v2 $*

# for assembler version
.asm.obj:
	optasm /ml /zd $*;


# mn.obj       : lh.h typedef.h
# append.obj   : lh.h intrface.h typedef.h
# extract.obj  : lh.h intrface.h typedef.h
# list.obj     : lh.h typedef.h
# match.obj    : lh.h typedef.h
# header.obj   : lh.h intrface.h typedef.h
# files.obj    : lh.h typedef.h
# getopt.obj   : lh.h typedef.h
# util.obj     : lh.h intrface.h typedef.h
# dosio.obj    : lh.h typedef.h
# error.obj    : lh.h typedef.h
# path.obj     : lh.h typedef.h
# self.obj     : lh.h typedef.h sfx.h intrface.h errmes.h
self.obj     : sfx.h

# shuf.obj     : slidehuf.h typedef.h
# dhuf.obj     : slidehuf.h typedef.h
# larc.obj     : slidehuf.h typedef.h
# maketbl.obj  : slidehuf.h typedef.h
# maketree.obj : slidehuf.h typedef.h
# crcio.obj    : slidehuf.h intrface.h typedef.h
