VERSION = 0.0
PATCHLEVEL = 1
ALPHA =

#
#  $Id: Makefile,v 1.6 1995/11/30 02:01:41 root Exp $
#

all:	ts

.EXPORT_ALL_VARIABLES:

CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
	  else if [ -x /bin/bash ]; then echo /bin/bash; \
	  else echo sh; fi ; fi)


#
# standard CFLAGS
#
CFLAGS   = -g

ifdef CONFIG_M486
CFLAGS := $(CFLAGS) -m486
else
CFLAGS := $(CFLAGS) -m386
endif

AS86	=as86 -0 -a
LD86	=ld86 -0

AS	=as
LD	=ld
CC	=gcc
MAKE	=make
CPP	=$(CC) -E
AR	=ar
STRIP	=strip

.c.s:
	$(CC) $(CFLAGS) -S -o $*.s $<
.s.o:
	$(AS) -c -o $*.o $<
.c.o:
	$(CC) $(CFLAGS) -c -o $*.o $<

dosubdirs:
	set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done

SRCHEADERS  = scan.h lex.h parser.h
SRCFILES    = scan.c lex.c parser.c
SRCOBJECTS  = scan.o lex.o parser.o

scan.o: scan.c scan.h

lex.o: lex.c lex.h scan.h

parser.o: parser.c parser.h lex.h scan.h assert.h gc.h

TSHEADERS   = comp.h mem.h cpu.h interp.h maps.h future.h
TSFILES     = comp.c mem.c cpu.c interp.c maps.c future.c
TSOBJECTS   = comp.o mem.o cpu.o interp.o maps.o future.o

comp.o: comp.c comp.h parser.h

mem.o: mem.c mem.h gc.h

cpu.o: cpu.c cpu.h comp.h mem.h future.h

maps.o: maps.c maps.h mem.h

ts: ts.c $(SRCHEADERS) $(SRCOBJECTS) $(TSHEADERS) $(TSOBJECTS)
	$(CC) $(CFLAGS) -o ts ts.c $(SRCOBJECTS) $(TSOBJECTS) -lgc

clean:
	rm -f core `find . -name '*.[oas]' -print`
	rm -f core `find . -name 'core' -print`
	rm release.tar

export:
	tar cvf src1.tar ts.c $(SRCHEADERS) $(TSHEADERS) $(SRCFILES) $(TSFILES) Makefile
	cp ts ts1
	strip ts1
	gzip ts1 src1.tar
	tar cvf release.tar features.html ts1.gz src1.tar.gz
	rm ts1.gz src1.tar.gz

