PROGSRCS	=\
				test_machbase.cc \
				test_backing_file.cc \
				test_machine_build.cc \
				$(NULL)
PROGOBJS	=	$(PROGSRCS:%.cc=%.o)
PROGS		=	$(PROGSRCS:%.cc=%)

BINDIR	=	/usr/local/lib
MANDIR	=	/usr/local/man/man1

CXXFLAGS	=	-m486 -g -O
CPPFLAGS	+= \
			-I.. \
			-I../../chio \
			-I../../machcommon \
			-I../../machvisit \
			$(NULL)


LIBDEPEND = \
			../libmachbase.a \
			../../chio/libchio.a \
			../../machcommon/libmachcommon.a \
			$(NULL)
LIBDIRS		= \
			.. \
			../../chio \
			../../machcommon \
			$(NULL)
LIBFILES	= \
			machbase \
			machcommon \
			chio \
			$(NULL)
LDFLAGS			=	$(LIBDIRS:%=-L%)
LOADLIBES		=	$(LIBFILES:%=-l%)

.PHONEY : all clean run_test

all : $(PROGS)

test_machbase : test_machbase.o $(LIBDEPEND)
	g++ -o test_machbase $(CXXFLAGS) $(LDFLAGS) test_machbase.o $(LOADLIBES)

test_backing_file : test_backing_file.o $(LIBDEPEND)
	g++ -o test_backing_file $(CXXFLAGS) $(LDFLAGS) \
		test_backing_file.o $(LOADLIBES)

test_machine_build : test_machine_build.o $(LIBDEPEND)
	g++ -o test_machine_build $(CXXFLAGS) $(LDFLAGS) \
		test_machine_build.o $(LOADLIBES)

run_test : $(PROGS)
	test_backing_file > tbf.gsm
	test_machine_build < tbf.gsm > tmb.gsm

clean:
	rm -f *.o *.d a.out core $(PROGS) Makefile.bak

%.d : %.cc
	@$(SHELL) -ec '$(CXX) -MM $(CPPFLAGS) $< \
		| sed '\''s/\($*\.o\)[ :]*/\1 $@ : /g'\'' > $@'

include $(PROGSRCS:.cc=.d)
