# Makefile
# CREATED BY mkmk
#       FROM ./MakeSkel
#         ON Fri Aug 5 15:28:00 PDT 1988

## makefile skeleton for src/bin






# makeHost.bsd - BSD UNIX rules, defs & flags for makefile skeletons

## rules

.SUFFIXES : .lint .s .c

.c.lint:
	@rm -f $@
	- lint $(LINTFLAGS) $*.c $(LIB_LINT)$(VX_LN) |	\
	    sed -e '/copyright/d'		\
		-e '/^[^ ]*:$$/d' >$@

.s.o :
	@rm -f $@
	$(ASM_P1) $< >tmp.c
	$(CC) $(CASFLAGS) tmp.c >tmp.i
	$(ASM_P2) tmp.i >tmp.s
	$(AS) -o $@ tmp.s
	@rm -f tmp.c tmp.i tmp.s

.c.o :
	@rm -f $@
	$(CC) $(CFLAGS) -c $<


## files and directories

VW          = ../../
H1          = $(VW)h/
H2          = $(VW)h/net/
H3          = $(VW)h/rpc/
BIN         = $(VW)bin/
SRC         = $(VW)src/
SRCALL      = $(VW)src/all/
SRCNET      = $(VW)src/net/
UNSNET      = $(VW)unsupported/src/net/
SRCRPC      = $(VW)src/rpc/
SRCBIN      = $(VW)src/bin/
VRTX        = $(VW)src/vrtx/
PSOS        = $(VW)src/psos/
WIND        = $(VW)src/wind/
LIB         = $(VW)lib/
LIB_MC68000 = $(VW)lib/68000/
LIB_MC68010 = $(VW)lib/68010/
LIB_MC68020 = $(VW)lib/68020/
LIB_HOST    = $(VW)lib/host/
LIB_LINT    = $(VW)lib/lint/
CONFIG      = $(VW)config/
ALL         = $(VW)config/all/
DY4         = $(VW)config/dy4/
HKV2F       = $(VW)config/hkv2f/
IS20        = $(VW)config/is20/
IV24        = $(VW)config/iv24/
MV131       = $(VW)config/mv131/
MV133       = $(VW)config/mv133/
UBAR        = $(VW)config/ubar/

VRTX_LIB   = vrtx.a
PSOS_LIB   = psos.a
WIND_LIB   = wind.a
NET_LIB    = netLib.a
RPC_LIB    = rpcLib.a
CONFIG_LIB = configLib.a
FORT_LIB1  = fort_uw.a 
FORT_LIB2  = fort_I77.a
PAS_LIB    = pas_uw.a
DEV_LIB    = devLib.a
PRIM_LIB   = primLib.a
HIGH_LIB   = highLib.a

VX_LN      = llib-lvw.ln
VRTX_LN    = llib-lvrtx.ln
PSOS_LN    = llib-lpsos.ln
WIND_LN    = llib-lwind.ln
NET_LN     = llib-lnet.ln
RPC_LN     = llib-lrpc.ln
CONFIG_LN  = llib-lcfg.ln

YACCOUT    = y.tab.c
LEXOUT     = lex.yy.c

## tools

RANLIB = ranlib


# makeHost.isi - host specific rules, defs & flags for makefile skeletons

EVEN = "-Deven=align 1"

# pure BSD 4.3 doesn't have $(MAKE) capability

MAKE = make

## tools

TAGS   = ctags -w -t

ASM_P1 = $(BIN)aspp
ASM_P2 = cat

CC_MC68000 = cc
CC_MC68010 = cc
CC_MC68020 = cc
CC_HOST    = cc

AS_MC68000 = as
AS_MC68010 = as
AS_MC68020 = as
AS_HOST    = as

LD_MC68000 = ld
LD_MC68010 = ld
LD_MC68020 = ld
LD_HOST    = ld

## flags

HOST_TYPE = HOST_ISI

HOST_CFLAGS_MC68000 = -O -ga -X23
HOST_CFLAGS_MC68010 = -O -ga -X23
HOST_CFLAGS_MC68020 = -O -ga -k -X23 -X39 -X18 -20
HOST_CFLAGS_HOST    =

## libraries

HOST_LIB_MC68000 = /usr/lib/libc.a
HOST_LIB_MC68010 = /usr/lib/libc.a
HOST_LIB_MC68020 = /usr/lib/libc.a
HOST_LIB_HOST    = /usr/lib/libc.a



## tools

CC = $(CC_HOST)
AS = $(AS_HOST)
LD = $(LD_HOST)

## flags and defines

INCLUDES = -I$(H1)
CFLAGS   = $(HOST_CFLAGS_HOST) -D$(HOST_TYPE) $(INCLUDES)
LINTFLAGS = -bun $(INCLUDES)

## files and directories

BINPROGS = $(BIN)coffToBsd $(BIN)hex $(BIN)hexn $(BIN)imToBsd $(BIN)irisToBsd \
        $(BIN)pic.o $(BIN)condense\
	   $(BIN)relseg $(BIN)rtcp $(BIN)rtinit $(BIN)rtls $(BIN)rtrm $(BIN)xsym

LINTPROGS = coffToBsd.lint hex.lint imToBsd.lint irisToBsd.lint relseg.lint \
	    rtcp.lint rtinit.lint rtls.lint rtrm.lint xsym.lint

U_LIB1 = $(LIB_HOST)$(HIGH_LIB)
U_LIB2 = $(LIB_HOST)$(PRIM_LIB)

default : $(BINPROGS)
aux : lint
lint : $(LINTPROGS)

################### bin programs #######################################

$(BIN)coffToBsd : coffToBsd.c $(H1)a_out.h $(H1)coffAout.h $(H1)strLib.h \
        $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)coffToBsd coffToBsd.c

$(BIN)condense : condense.c
	$(CC) $(CFLAGS) -o $(BIN)condense condense.c $(U_LIB1) $(U_LIB2)

$(BIN)hex : hex.c $(H1)a_out.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)hex hex.c

$(BIN)hexn : hexn.c $(H1)a_out.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)hexn hexn.c

$(BIN)irisToBsd : irisToBsd.c $(H1)a_out.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)irisToBsd irisToBsd.c

$(BIN)relseg : relseg.c $(H1)a_out.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)relseg relseg.c

$(BIN)rtls : rtls.c $(H1)ioLib.h $(H1)iosLib.h $(H1)lstLib.h $(H1)rtLib.h \
        $(H1)rtULib.h $(H1)semLib.h $(H1)UniWorks.h $(U_LIB1) $(U_LIB2)
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)rtls rtls.c $(U_LIB1) $(U_LIB2)

$(BIN)rtcp : rtcp.c $(H1)ioLib.h $(H1)iosLib.h $(H1)lstLib.h $(H1)rtLib.h \
        $(H1)rtULib.h $(H1)semLib.h $(H1)strLib.h $(H1)UniWorks.h \
		$(U_LIB1) $(U_LIB2)
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)rtcp rtcp.c $(U_LIB1) $(U_LIB2)

$(BIN)rtinit : rtinit.c $(H1)ioLib.h $(H1)iosLib.h $(H1)lstLib.h \
        $(H1)rtLib.h $(H1)rtULib.h $(H1)semLib.h $(H1)UniWorks.h \
		$(U_LIB1) $(U_LIB2)
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)rtinit rtinit.c $(U_LIB1) $(U_LIB2)

$(BIN)rtrm : rtrm.c $(H1)ioLib.h $(H1)iosLib.h $(H1)lstLib.h $(H1)rtLib.h \
        $(H1)rtULib.h $(H1)semLib.h $(H1)UniWorks.h $(U_LIB1) $(U_LIB2)
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)rtrm rtrm.c $(U_LIB1) $(U_LIB2)

$(BIN)xsym : xsym.c $(H1)a_out.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)xsym xsym.c

$(BIN)imToBsd : imToBsd.c imToBsd.lex_c imToBsd.yacc $(H1)a_out.h \
        $(H1)ctype.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) $(CFLAGS) -o $(BIN)imToBsd imToBsd.c

imToBsd.c : imToBsd.yacc
	@ rm -f $@
	yacc imToBsd.yacc
	mv $(YACCOUT) imToBsd.c

imToBsd.lex_c : imToBsd.lex
	@ rm -f $@
	lex imToBsd.lex
	mv $(LEXOUT) imToBsd.lex_c

############################## pic #################################

OBJ_PIC = picture.o pic_ex.o pic_nw.o pic_ie.o \
	   pic_mvme215.o pic_dram512.o pic_enp.o

pic_ex.o : $(UNSNET)pic_ex.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

pic_enp.o : $(UNSNET)pic_enp.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

pic_nw.o : $(UNSNET)pic_nw.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

pic_ie.o : $(UNSNET)pic_ie.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

pic_mvme215.o : $(UNSNET)pic_mvme215.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

pic_dram512.o : $(UNSNET)pic_dram512.c
	@ rm -f $@
	$(CC) -c $(CFLAGS) $?

picture.o : picture.c $(H1)lstLib.h $(H1)memLib.h $(H1)picture.h \
        $(H1)semLib.h $(H1)strLib.h $(H1)UniWorks.h
	@ rm -f $@
	$(CC) -c $(CFLAGS) $<

$(BIN)pic.o : $(OBJ_PIC) 
	@ rm -f $@
	ld -o $(BIN)pic.o -r $(OBJ_PIC) -lc

