# Flags for yconfigure:
# yuse c_compiler         required

TARGET=liby4vm.a

OBJS = y4vm.o y4vmmath.o y4vmload.o y4vmfile.o

SRCS = y4vm/Makefile y4vm/Makefilebody y4vm/*.c y4vm/*.h y4vm/mksharedlib.* y4vm/*.y4 y4vm/README y4vm/LICENSE y4vm/yconfigure y4vm/make-install.sh y4vm/oswrap.sh
BACKUP = $(SRCS) y4vm/version.tbl y4vm/RCS y4vm/doc/*.tex

BINDISTFILES=y4vm/$(TARGET) y4vm/y4vm.h y4vm/y4vmload.h y4vm/y4vmmath.h y4vm/y4vmshell.c y4vm/y4vm y4vm/README y4vm/LICENSE y4vm/make-install.sh y4vm/oswrap.sh

.SUFFIXES:
.SUFFIXES: .c .o .h


all : $(TARGET) y4vm

clean :
	rm -f $(TARGET) *.o y4vm

$(TARGET) : $(OBJS)
	ar rs $@ $(OBJS)
#	$(SHAREDCOMMAND) `basename $(TARGET) .a` `cat version.tbl` $(OBJS)

src-dist :
	cd .. ; cp -rp trunk y4vm
	cd .. ; chmod +w $(SRCS)
	cd .. ; $(TAR) $(TAROPTS) trunk/y4vm-$(PROGRAMVERSION)-src.tar $(SRCS)
	cd .. ; $(COMPRESS) $(COMPRESSOPTS) trunk/y4vm-$(PROGRAMVERSION)-src.tar
	cd .. ; rm -rf y4vm

backup : updateversion
	rm -f programversion.h
	./updateversion <version.tbl >version.tmp
	mv version.tmp version.tbl
	cd .. ; $(TAR) $(TAROPTS) y4vm/y4vm-$(PROGRAMVERSION)-bak.tar $(BACKUP)
	cd .. ; $(COMPRESS) $(COMPRESSOPTS) y4vm/y4vm-$(PROGRAMVERSION)-bak.tar

bin-dist : all
	cd .. ; $(TAR) $(TAROPTS) y4vm/y4vm-$(PROGRAMVERSION)-bin-$(OSFULLNAME).tar $(BINDISTFILES)
	cd .. ; $(COMPRESS) $(COMPRESSOPTS) y4vm/y4vm-$(PROGRAMVERSION)-bin-$(OSFULLNAME).tar

lines : all
	wc *.c *.h

test : y4vm

y4vm : $(TARGET) y4vmshell.o
	$(CC) $(CCOPTS) $(LIBDIRS) -L. -o y4vm y4vmshell.o -ly4vm $(LIBS)

updateversion : updateversion.c
	$(CC) $(CCOPTS) -o updateversion updateversion.c

.c.o :
	$(CC) $(WARNINGS) -DOSFULLNAME=$(OSFULLNAME) -D$(OSNAME) $(DEBUGOPT) $(CCOPTS) -I. $(INCLUDEDIRS) -c $<


