# make
#	RpC
# make lib
#	libeff RpC
# make clean
#	\[Xt@CɂB
# make cleanlib
#	libeff \[Xt@CɂB
# make install
#	~/bin ւ eff.exe ̃Rs[
# make package
#	eff-1.XX.tar.bz2 Ȃǂ̍쐬BXX  readme.1XX݂̑AʁB
# make upload
#	eff-1.XX.tar.bz2  Web fBNgւ̃Rs[BXX ͎
# make checkver
#	make package/upload ŗpuXXv\B
#
# gcc,cp,mv are required.


all : eff.exe

# -------------- fBNg̐ݒ ----------------

# --- libeff.a fBNg ----
LIBEFF=../libeff
# --- y[WW[fBNg ----
LESZDIR=../lesz
# --- ell ̃\[XfBNg ---
ELLDIR=../ell
# --- EXEt@CuׂAfBNg ----
INSTALLDIR=$(HOME)/bin

# --------------- ݒ -------------------

.SUFFIXES : .cc .o .a

CC=gcc
CFLAGS=-DOS2EMX -I../eff -I$(LIBEFF) -I$(LESZDIR) -DNDEBUG -Wall -O2 -Zmtd
LDFLAGS=-L$(LIBEFF) -llibeffmt -lvideo -lsocket -Zmtd -Zcrtdll -lwrap

# ----------------- C ----------------

# {̃W[
EFF_SRC=eff.cc basicwin.cc fileswin.cc copy.cc comments.cc \
	copypaste.cc deltree.cc prowin.cc effcfg.cc treewin.cc \
	arcwin.cc textwin.cc cfgarc.cc cfgcolor.cc grep.cc

# y[W[W[(LESZ)
LESZ_SRC=$(foreach X,leszbuf.cc pager.cc leszseek.cc leszcom.cc \
	fileorpipe.cc newsbrk.cc leszmain.cc,$(LESZDIR)/$(X))

EFF_OBJ=$(EFF_SRC:.cc=.o) $(LESZ_SRC:.cc=.o)

eff.exe : $(EFF_OBJ) $(LIBEFF)/libeffmt.a
	$(CC) $(EFF_OBJ) -o $@ $(LDFLAGS)

$(LIBEFF)/libeffmt.a :
	$(MAKE) -C $(LIBEFF) mt

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

install :
	cp eff.exe eff.hlp $(INSTALLDIR)

# ۑׂ\[Xꗗ
# --- effĝ ---
EFFSET=$(foreach X,eff.doc _eff Makefile $(EFF_SRC) *.h,eff/$(X))
# --- libeff\[X
LIBSET=$(foreach X,Makefile *.h *.cc *.ccc libr.cmd mkdbcs.cmd,libeff/$(X))
# --- y[W[\[X
KARLSET=karl/*.cc karl/*.h

# --- o[Wio ---
# ł readme.1XX  XX ōő XX  VER ɐݒ肷.

READMES=$(wildcard readme.1??)
VER=$(subst .1,,$(suffix $(word $(words $(READMES)),$(READMES))))

TBZ=eff-1.$(VER).tar.bz2
LZH=eff1$(VER).lzh

# --- EFuAbv[hy[WpbP[WۑfBNgւ̃Rs[ ---
# make upload

upload :
	cp -i $(LZH) $(TBZ) $(HOME)/www/warp/.
	mv -i $(LZH) $(TBZ) $(HOME)/src/package/eff/.

# --- pbP[W쐬 ----
# make package

package :
	lxlite eff.exe
	lha a $(LZH) readme.1$(VER) eff.doc eff.hlp eff.exe \
		_eff blueback.eff filenova.eff nifell.cmd
	cd .. && tar cvf - $(EFFSET) $(LIBSET) $(KARLSET) \
		| bzip2 -9 > eff/$(TBZ)

checkver :
	@echo 1.$(VER)

# ---- ̑ ----

cleanall : clean cleanlib

clean : sweep
	$(RM) $(EFF_OBJ) eff.exe

sweep :
	$(RM) *~ core *.bak

cleanlib :
	$(MAKE) -C $(LIBEFF) clean

lib :
	$(MAKE) -C $(LIBEFF) mt
