# Makefile for the Mutt compiler, Mutt Machine and utilities

MC2SRC  = mc.c code.c comp.c control.c defun.c supp.c token.c vcomp.c \
	  dhash.c ../util/util.a
MM2SRC  = mm.c oman.c
MMSRC   = mmsa.c
VERTSRC = mco_to_c.c

MC2OBJ  = $(MC2SRC:.c=.o)
MM2OBJ  = $(MM2SRC:.c=.o)
MMOBJ   = $(MMSRC:.c=.o)
VERTOBJ = $(VERTSRC:.c=.o)

CFLAGS = $(BASECFLAGS) -I. -I../util

all: announce mc2 mm2.a mco_to_c

announce:
	@echo "**** Building the Mutt Compiler/Mutt Machine Library & Mutter ****"
	@echo "CC is:" $(CC)
	@echo "CFLAGS are:" $(CFLAGS)

mc2: $(MC2OBJ)
	$(CC) -o mc2 $(MC2OBJ) ../util/util.a $(LDFLAGS)

mm2.a: $(MM2OBJ)
	$(AR) r mm2.a $(MM2OBJ)
	$(RANLIB) mm2.a

mco_to_c: $(VERTOBJ)
	$(CC) $(LDFLAGS) -o mco_to_c $(VERTOBJ) ../util/util.a

mm2: $(MMOBJ) mm2.a
	$(CC) $(LDFLAGS) -o mm2 $(MMOBJ) mm2.a ../util/util.a

clean:
	rm -f *.o

realclean:
	rm -f mc2 mm2 *.[oa] mco_to_c
