# commands
DCC32=/io/app/d3/bin/dcc32.exe
DCC16=/io/app/d1/bin/dcc.exe
CONVERT=/io/app/d1/bin/convert.exe
SED=sed
U2D=u2d
RM=rm -f
MKDIR=mkdir -p
CP=cp
XCP=cp -Rf
ZIP=zip
CD=cd
DELTREE=rm -fr

# paths
TEMP=/tmp
DIST=./SemTel
SRC16=SemTel16

SemTel_build: PreClean SemTel32 SemTel16 PostClean

SemTel32: SemTel32_build SemTel32_dist
	$(RM) $(TEMP)/*.dcu

SemTel32_build: 
	@echo "-- SemTel32: Begin -----------------------------" 
	$(SED) 's/Program SemTel_D/Program SemTel32/' semtel_d.dpr >SemTel~.dpr
	$(U2D) <SemTel~.dpr >SemTel32.dpr
	$(DCC32) SemTel32.dpr 

SemTel32_dist: SemTel_dist
	$(CP) $(TEMP)/SemTel32.exe $(DIST)/ 
	$(ZIP) -9 -r SemTel32.zip $(DIST)/ 
	$(RM) $(DIST)/SemTel32.exe

SemTel16: SemTel16_build SemTel16_dist
	$(DELTREE) $(SRC16)
	$(RM) $(TEMP)/*.dcu
	
SemTel16_build:
	$(MKDIR) $(SRC16)/units
	@echo "-- SemTel16: Begin -----------------------------"
	# D3 => D1 conversion
	$(CP) *.r16 $(SRC16) 
	$(CP) *.pas $(SRC16) 
	$(CP) *.dfm $(SRC16) 
	$(CP) *.cfg $(SRC16) 
	$(XCP) units $(SRC16)
	# kill RCS files
	rm -f `find SemTel16 -type f| grep ",v"`
	# convert D3 to D1
	find SemTel16 -type f |grep ".dfm" |sed "s/\//\\\/g" > dfm.lst
	$(CONVERT) @dfm.lst 
	find SemTel16 -type f |grep ".TXT" |sed "s/\//\\\/g" > txt.lst
	dfm3216 txt.lst 
	$(CONVERT) @txt.lst 
	# create project
	$(SED) 's/Program SemTel_D/Program SemTel16/' semtel_d.dpr >SemTel~.dpr
	$(U2D) <SemTel~.dpr >$(SRC16)/SemTel16.dpr
	# build
	echo "@echo off" >rundos.bat
	echo "cd $(SRC16)" >>rundos.bat
	echo "\"`cygpath -w $(DCC16)`\" SemTel16.dpr " >>rundos.bat
	echo "cd .." >>rundos.bat
	./rundos.bat

SemTel16_dist: SemTel_dist
	$(MKDIR) $(DIST)
	$(CP) $(TEMP)/SemTel16.exe $(DIST)/ 
	$(ZIP) -m -9 -r SemTel16.zip $(DIST)/ 
	
SemTel_dist: 
	$(MKDIR) $(DIST)
	$(MKDIR) $(DIST)/trm
	$(MKDIR) $(DIST)/hlp/faq/cz
	$(MKDIR) $(DIST)/hlp/faq/us
	$(CP) ./SemTel.bnc $(DIST) 
	$(CP) ./SemTel.lng $(DIST) 
	$(CP) ./SemTelEN.lng $(DIST)
	$(CP) ./SemTelCZ.lng $(DIST)
	$(CP) ./trm/*.trm $(DIST)/trm
	$(CP) ./hlp/*.txt $(DIST)/hlp
	$(CP) ./hlp/english.* $(DIST)/hlp
	$(CP) ./hlp/faq/cz/*.* $(DIST)/hlp/faq/cz 
	$(CP) ./hlp/faq/us/*.* $(DIST)/hlp/faq/us 
	$(CP) ./hlp/Readme* $(DIST) 

PreClean:
	echo >make.log
	$(RM) SemTel16.zip SemTel32.zip

PostClean:
	$(RM) SemTel~.dpr SemTel32.dpr SemTel16.dpr SemTel32.drc \
	      rundos.bat	
	
