ifeq (/$(package)/,//)
all : ell.exe
else
all : package
VER=$(package)
endif

CC=gcc
CCFLAGS=-Zmtd -Zcrtdll -O2 -Wall -DNDEBUG

ELLSRC=ell.cc ziplist.cc zipwin.cc scrnsave.cc ellcfg.cc frame.cc \
	deltree.cc pathinput.cc tokenizer.cc filetokenizer.cc input.cc
ELLINC=sem.h ziplist.h zipwin.h scrnsave.h tokenizer.h macros.h
ELLOBJ=$(ELLSRC:.cc=.o)

ell.exe : $(ELLOBJ)
	gcc -o $@ $^ -lvideo -lstdcpp -Zmtd -lwrap -Zcrtdll
	lxlite $@

.cc.o :
	$(CC) $(CCFLAGS) -c $<

ell.o : ell.cc zipwin.h ziplist.h 
ziplist.o : ziplist.cc ziplist.h sem.h
zipwin.o : zipwin.cc zipwin.h sem.h
scrnsave.o : scrnsave.cc scrnsave.h
frame.o : frame.cc
deltree.o : deltree.cc
pathinput.o : pathinput.cc
ziplist.h : sem.h
tokenizer.o : tokenizer.cc tokenizer.h
filetokenizer.o : filetokenizer.cc tokenizer.h

install :
	for %i in (*.exe *.cfg) do updt %i $(HOME)/bin/%i

package :
	tar cvf - readme.1$(VER) ELL.DOC ELL.CFG Makefile \
		$(ELLSRC) $(ELLINC) zerolist.cmd zeroview.cmd \
		| gzip > ell-1.$(VER).tar.gz
	lha a ell1$(VER).lzh readme.1$(VER) ELL.DOC ELL.CFG \
		ELL.EXE zerolist.cmd zeroview.cmd

clean :
	rm -f *.o *.exe *~ core
