#
# Build the needed parts of the tke/tkt package
#
# Helper commands for building all the parts of Tcl/Tk are at the end
#
# Dave Clemans, June 1993
#

APOLLO_VCO	= m
HP_VCO		= hpu
SUN_VCO		= sss

CC		= cc
CFLAGS		= -O

all:
	@echo "Specify apollo-all, hp-all or sun-all"

clean:
	rm -f *.o highlighter.c browser.c

apollo-all:	$(APOLLO_VCO)/highlighter $(APOLLO_VCO)/startoff \
	$(APOLLO_VCO)/browser

hp-all:		$(HP_VCO)/highlighter $(HP_VCO)/startoff $(HP_VCO)/browser

sun-all:	$(SUN_VCO)/highlighter $(SUN_VCO)/startoff \
	$(SUN_VCO)/sunConsole $(SUN_VCO)/browser

$(APOLLO_VCO)/highlighter: highlighter.o
	$(CC) $(CFLAGS) -o $@ highlighter.o

$(HP_VCO)/highlighter: highlighter.o
	$(CC) $(CFLAGS) -o $@ highlighter.o

$(SUN_VCO)/highlighter: highlighter.o
	$(CC) $(CFLAGS) -o $@ highlighter.o

$(APOLLO_VCO)/startoff: startoff.o
	$(CC) $(CFLAGS) -o $@ startoff.o

$(HP_VCO)/startoff: startoff.o
	$(CC) $(CFLAGS) -o $@ startoff.o

$(SUN_VCO)/startoff: startoff.o
	$(CC) $(CFLAGS) -o $@ startoff.o

$(SUN_VCO)/sunConsole: sunConsole.o
	$(CC) $(CFLAGS) -o $@ sunConsole.o

$(APOLLO_VCO)/browser: browser.o
	$(CC) $(CFLAGS) -o $@ browser.o

$(HP_VCO)/browser: browser.o
	$(CC) $(CFLAGS) -o $@ browser.o

$(SUN_VCO)/browser: browser.o
	$(CC) $(CFLAGS) -o $@ browser.o

startoff.o:	startoff.c

sunConsole.o:	sunConsole.c

highlighter.c:	highlighter.l
	flex highlighter.l
	mv lex.yy.c $@

highlighter.o:	highlighter.c

browser.c:	browser.l
	flex browser.l
	mv lex.yy.c $@

browser.o:	browser.c

#
# Aids to make compiling all the needed parts of Tcl/TK easier
# for our platforms
#
TCLVERSION	= 6.7
TCLXVERSION	= 6.5c
TKVERSION	= 3.2

clean-tcl:
	cd ../tcl$(TCLVERSION);make clean
	cd ../tk$(TKVERSION);make clean
	cd ../tclX$(TCLXVERSION);make clean

install-tcl:
	cd ../tcl$(TCLVERSION);make install
	cd ../tk$(TKVERSION);make install
	cd ../tclX$(TCLXVERSION);make install

sun-tcl:
	cd ../tcl$(TCLVERSION);cp Makefile.sun Makefile;make
	cd ../tk$(TKVERSION);cp Makefile.sun Makefile;make
	cd ../tclX$(TCLXVERSION);cp Config.mk.sun Config.mk;make

hp-tcl:
	cd ../tcl$(TCLVERSION);cp Makefile.hpu Makefile;make
	cd ../tk$(TKVERSION);cp Makefile.hpu Makefile;make
	cd ../tclX$(TCLXVERSION);cp Config.mk.hpu Config.mk;make

apollo-tcl:
	cd ../tcl$(TCLVERSION);cp Makefile.apollo Makefile;make
	cd ../tk$(TKVERSION);cp Makefile.apollo Makefile;make
	cd ../tclX$(TCLXVERSION);cp Config.mk.apollo Config.mk;make
