#
# Makefile for KARL
#

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

CC= gcc
LIBEFF=../libeff

install :
	cp karl.exe /usr/bin/

CFLAGS=-I$(LIBEFF) -DNDEBUG -Zmtd -Zcrtdll -O2 -Wall

.cc.o :
	gcc $(CFLAGS) -c $< -o $@

.c.o :
	gcc $(CFLAGS) -c $< -o $@

KARLINC=files.h filewin.h lesz.h macros.h sem.h fileorpipe.h leszbuf.h \
	newsbrk.h
KARLSRC=karlmain.cc leszseek.cc leszcom.cc leszopt.cc leszbuf.cc \
	filewin.cc pager.cc files.cc newsbrk.cc frame.cc fileorpipe.cc
KARLCCC=$(KARLSRC:.cc=.o)
KARLOBJ=$(KARLCCC:.c=.o)

karl.exe : $(KARLOBJ)
	gcc -Zmtd -Zcrtdll -o $@ $^ -L$(LIBEFF) \
		-llibeffmt -lvideo -lwrap -lsocket

karlmain.o : karlmain.cc filewin.h
leszseek.o : leszseek.cc
leszcom.o : leszopt.cc
buffer.o : buffer.cc
filewin.o : filewin.cc
pager.o : pager.cc
newsbrk.o : newsbrk.cc
files.o : files.cc
frame.o : frame.cc

KARLSET=$(foreach X,readme.1$(VER) karl.doc karl.src Makefile $(KARLINC) \
	$(KARLSRC), karl/$(X))
LIBSET=$(foreach X,Makefile *.h *.cc *.ccc libr.cmd mkdbcs.cmd,libeff/$(X))

package : lxlite karl.exe
	lha a karl1$(VER).lzh readme.1$(VER) karl.doc karl.exe emxchk.cmd
	cd .. && tar cvf -  $(KARLSET) $(LIBSET) \
		| gzip > karl\karl-1.$(VER).tar.gz

lxlite : karl.exe
	lxlite karl.exe

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