#
# Make the GCC tools
#

#
# Default definitions, change as needed.
#

UTILDIR = /usr/local

RM = rm -f
CP = cp

OBJ = .o
EXE = 
TARGET = -o $@
CFLAGS =
CC = cc

FIX80OBJS = fix80$(OBJ)
LSTODSOBJS = lstods$(OBJ)
TRUNC80OBJS = trunc80$(OBJ)
ECHOFILEOBJS = echofile$(OBJ)
ECHODIROBJS = echodir$(OBJ)
TRIMOBJS = trim$(OBJ)

LDOBJS = ld$(OBJ)
ASOBJS = as$(OBJ)

SCRIPTS = as as2 ld ld2
NOCCTARGETS = fix80$(EXE) lstods$(EXE) trunc80$(EXE) echofile$(EXE) \
	echodir$(EXE) trim$(EXE)

CCTARGETS = as$(EXE) ld$(EXE)

all : 
	@echo "Usage: make CC | NOCC"

CC: 
	@make $(CCTARGETS)

NOCC: 
	@make $(NOCCTARGETS) \
	"CC=gcc"

echofile$(EXE) : $(ECHOFILEOBJS)
	$(CC) $(TARGET) $(ECHOFILEOBJS)

echodir$(EXE) : $(ECHODIROBJS)
	$(CC) $(TARGET) $(ECHODIROBJS)

fix80$(EXE) : $(FIX80OBJS)
	$(CC) $(TARGET) $(FIX80OBJS)

lstods$(EXE) : $(LSTODSOBJS)
	$(CC) $(TARGET) $(LSTODSOBJS)

trim$(EXE) : $(TRIMOBJS)
	$(CC) $(TARGET) $(TRIMOBJS)

trunc80$(EXE) : $(TRUNC80OBJS)
	$(CC) $(TARGET) $(TRUNC80OBJS)

# utility targets

clean :
	$(RM) $(ECHOFILEOBJS) echofile$(EXE)
	$(RM) $(ECHODIROBJS) echodir$(EXE)
	$(RM) $(FIX80OBJS) fix80$(EXE)
	$(RM) $(LSTODSOBJS) lstods$(EXE)
	$(RM) $(TRIMOBJS) trim$(EXE)
	$(RM) $(TRUNC80OBJS) trunc80$(EXE)
	$(RM) $(LDOBJS) ld$(EXE)
	$(RM) $(ASOBJS) as$(EXE)

install :
	@echo "Usage: make installCC | installNOCC"

installNOCC : $(NOCCTARGETS)
	$(CP) $(NOCCTARGETS) $(UTILDIR)/bin
	$(CP) as.sh as
	$(CP) ld.sh ld
	chmod +x $(SCRIPTS)
	$(CP) $(SCRIPTS) $(UTILDIR)/bin

installCC : $(CCTARGETS)
	$(CP) $(CCTARGETS) $(UTILDIR)/bin

# dependencies

echofile$(OBJ) :  echofile.c
echodir$(OBJ) :  echodir.c
fix80$(OBJ) :  fix80.c
lstods$(OBJ) :  lstods.c
trim$(OBJ) :  trim.c
trunc80$(OBJ) :  trunc80.c

ld$(OBJ) :  ld.c
as$(OBJ) :  as.c

