#
# MAINVERSION, GUIVERSION must be changed correctly in src/ngraph.h
#
#
###############################################################################
#
# Windows
#
ACVER = 6354
CC = Bcc32
CCOPTION = "-3 -Od -a4 -ff -w-inl -w-aus -w-par -w-csu -wuse -wstv"
MAKE = make
LINK = Ilink32
AR = tlib
RC = Brc32
DEFSJ = "-DJAPANESE -DWINDOWS -DSTRICT;_OWLPCH;_OWLALLPCH"
DEFSE = "-DENGLISH -DWINDOWS -DSTRICT;_OWLPCH;_OWLALLPCH"
INCLUDE = "-IC:\BCC55\INCLUDE"
WININCLUDE = "-IC:\OWL\INCLUDE"
WINLIB = "C:\BCC55\LIB;C:\OWL\LIB"
OWLLIBT = owl-630-b5-dt.lib
OWLLIBF = owl-630-b5-ds.lib
#
#
###############################################################################

RESOURCEJ = win\bitmap.res win\printerj.res win\wfopenj.res win\winmenuj.res
RESOURCEE = win\bitmap.res win\printer.res win\wfopen.res win\winmenu.res

all:
	$(MAKE) clean
	$(MAKE) ngraphe.exe
	$(MAKE) clean
	$(MAKE) src/kern.lib
	$(MAKE) win/win.lib
	$(MAKE) ngraph.exe
	$(MAKE) windrive/gra2ps.exe
	$(MAKE) windrive/gra2prnw.exe
	$(MAKE) windrive/gra2gra.exe
	$(MAKE) windrive/gra2.exe
	$(MAKE) winaddin/clip2gra.exe
	$(MAKE) winaddin/calc.exe
	$(MAKE) winaddin/legend.exe
	$(MAKE) winaddin/fitrslt.exe

ngraph.exe:	win/winmain.obj win/win.lib src/kern.lib $(RESOURCEJ)
	$(LINK) /L$(WINLIB) -Tpe -aa -V4.0 -c C0W32.OBJ win\winmain.obj, $<, $*, $(OWLLIBT) import32.lib cw32mt.lib win\win.lib src\kern.lib, , $(RESOURCEJ)

ngraphe.exe:	win/winmain.obj win/wine.lib src/kerne.lib $(RESOURCEE)
	$(LINK) /L$(WINLIB) -Tpe -aa -V4.0 -c C0W32.OBJ win\winmain.obj, $<, $*, $(OWLLIBT) import32.lib cw32mt.lib win\wine.lib src\kerne.lib, , $(RESOURCEE)

src/kern.lib:
	cd src
        $(MAKE) -DCC=$(CC) -DTARGET="-W -WM" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSJ) -DINCLUDE=$(INCLUDE) kern.lib
	cd ..

src/kerne.lib:
	cd src
        $(MAKE) -DCC=$(CC) -DTARGET="-W -WM" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) kern.lib
	mv kern.lib kerne.lib
	cd ..

win/win.lib:
	cd win
	$(MAKE) -DCC=$(CC) -DTARGET="-W -WM" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSJ) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) win.lib
	cd ..

win/wine.lib:
	cd win
	$(MAKE) -DCC=$(CC) -DTARGET="-W -WM" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) win.lib
	mv win.lib wine.lib
	cd ..

win/winmain.obj:
	cd win
	$(MAKE) -DCC=$(CC) -DTARGET="-W -WM" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSJ) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) winmain.obj
	cd ..

windrive:
	cd windrive
	- $(MAKE) clean
	cd ..
        $(MAKE) windrive/gra2ps.exe
        $(MAKE) windrive/gra2prnw.exe
        $(MAKE) windrive/gra2gra.exe
        $(MAKE) windrive/gra2.exe

windrive/gra2ps.exe: windrive/gra2ps.c
	cd windrive
	$(MAKE) -DCC=$(CC) -DTARGET="-W -WC" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DRC=$(RC) gra2ps.exe
	cd ..

windrive/gra2prnw.exe: windrive/gra2prnw.cpp windrive/gra2prnw.rc win/winprt.c win/printer.rc
	cd windrive
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) gra2prnw.exe
	cd ..

windrive/gra2gra.exe: windrive/gra2gra.cpp windrive/gra2gra.rc
	cd windrive
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) gra2gra.exe
	cd ..

windrive/gra2.exe: windrive/gra2.cpp windrive/gra2.rc
	cd windrive
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) gra2.exe
	cd ..

winaddin:
	cd winaddin
	- $(MAKE) clean
	cd ..
	$(MAKE) winaddin/clip2gra.exe
	$(MAKE) winaddin/calc.exe
	$(MAKE) winaddin/legend.exe
	$(MAKE) winaddin/fitrslt.exe

winaddin/clip2gra.exe: winaddin/clip2gra.cpp winaddin/clip2gra.rc win/winfopen.c win/wfopen.rc
	cd winaddin
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) clip2gra.exe
	cd ..

winaddin/calc.exe: winaddin/calc.cpp winaddin/calc.rc win/winfopen.c win/wfopen.rc
	cd winaddin
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) calc.exe
	cd ..

winaddin/legend.exe: winaddin/legend.cpp winaddin/legend.rc
	cd winaddin
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) legend.exe
	cd ..

winaddin/fitrslt.exe: winaddin/fitrslt.cpp winaddin/fitrslt.rc
	cd winaddin
	$(MAKE) -DCC=$(CC) -DTARGET="-W" -DCCOPTION=$(CCOPTION) -DMAKE=$(MAKE) -DAR=$(AR) -DDEFS=$(DEFSE) -DINCLUDE=$(INCLUDE) -DWININCLUDE=$(WININCLUDE) -DLINK=$(LINK) -DWINLIB=$(WINLIB) -DOWLLIBF=$(OWLLIBF) -DRC=$(RC) fitrslt.exe
	cd ..



clean:
	- rm ngraph.exe
	cd src
	- $(MAKE) clean
	cd ..
	cd win
	- $(MAKE) clean
	cd ..
	cd windrive
	- $(MAKE) clean
	cd ..
	cd winaddin
	- $(MAKE) clean
	cd ..

cleanbackup:
	- rm *~ src/*~ win/*~ windrive/*~ winaddin/*~

distbin:
	- rm -r ./distb/Ngraph
        mkdir distb/Ngraph
        mkdir distb/Ngraph/doc
        mkdir distb/Ngraph/doc/tutorial
        mkdir distb/Ngraph/doc/img
        mkdir distb/Ngraph/doc/dialogs
        mkdir distb/Ngraph/demo
	mkdir distb/Ngraph/windoc
	cp ngraph.exe ./distb/Ngraph
	cp _Ngraph _Ngraph.ngp Ngraph.ini _fit.ngp ./distb/Ngraph
	cp windoc/license.txt windoc/history.txt windoc/addin.txt windoc/driver.txt ./distb/Ngraph/windoc
	cp windemo/demo1.dat windemo/demo2.dat windemo/demo3.dat windemo/demo4.dat windemo/demo.ngp windemo/demo1.ngp windemo/demo2.ngp windemo/demo3.ngp windemo/demo4.ngp windemo/demo5a.ngp windemo/demo5b.ngp windemo/demo5c.ngp windemo/demo5d.ngp windemo/demo5e.ngp windemo/encoding.ngp ./distb/Ngraph/demo
	cp winhelp/*.htm ./distb/Ngraph/doc
	cp winhelp/tutorial/*.jpg ./distb/Ngraph/doc/tutorial
	cp winhelp/img/*.png ./distb/Ngraph/doc/img
	cp winhelp/dialogs/*.jpg ./distb/Ngraph/doc/dialogs
	cp winaddin/append.nsc winaddin/clip2gra.nsc winaddin/calc.nsc winaddin/legend.nsc winaddin/mprint.nsc winaddin/text-in.nsc winaddin/math.nsc winaddin/fitrslt.nsc ./distb/Ngraph
	cp winaddin/clip2gra.exe winaddin/calc.exe winaddin/legend.exe winaddin/fitrslt.exe ./distb/Ngraph
	cp windrive/gra2ps.exe windrive/Ngraph.ps windrive/gra2ps.ini windrive/gra2win.ini windrive/gra2prnw.exe windrive/gra2.exe ./distb/Ngraph
	cd ./distb/Ngraph
	- rm ../ngw$(ACVER).zip
	zip -r ../ngw$(ACVER).zip *
        cd ../..

disteng:
	- rm -r ./diste/Ngraph
        mkdir diste/Ngraph
	cp ngraphe.exe ./diste/Ngraph
	cp _Ngraph _Ngraph.ngp Ngraph.ini _fit.ngp ./diste/Ngraph
	cd ./diste/Ngraph
	- rm ../eng$(ACVER).zip
	zip -r ../eng$(ACVER).zip *
	cd ../..

distsrc:
	- rm -r ./dists/Ngraph
        mkdir dists/Ngraph
        mkdir dists/Ngraph/src
        mkdir dists/Ngraph/win
        mkdir dists/Ngraph/winaddin
        mkdir dists/Ngraph/windrive
        mkdir dists/Ngraph/windoc
        mkdir dists/Ngraph/windemo
        mkdir dists/Ngraph/winhelp
        mkdir dists/Ngraph/winhelp/tutorial
        mkdir dists/Ngraph/winhelp/img
        mkdir dists/Ngraph/winhelp/dialogs
	cp _Ngraph _Ngraph.ngp Ngraph.ini _fit.ngp ./dists/Ngraph
	cp Makefile gpl.txt gplsjis.txt ./dists/Ngraph
	cp src/Makefile src/*.c src/*.h ./dists/Ngraph/src
	cp win/Makefile win/*.c win/*.cpp win/*.h win/*.rc win/*.rh ./dists/Ngraph/win
	cp winaddin/Makefile winaddin/*.cpp winaddin/*.rc winaddin/*.rh winaddin/*.nsc ./dists/Ngraph/winaddin
	cp windrive/Makefile windrive/*.c windrive/*.cpp windrive/*.rc windrive/*.rh windrive/*.ini windrive/Ngraph.ps ./dists/Ngraph/windrive
	cp windoc/* ./dists/Ngraph/windoc
	cp windemo/* ./dists/Ngraph/windemo
	cp winhelp/*.htm ./dists/Ngraph/winhelp
	cp winhelp/tutorial/*.jpg ./dists/Ngraph/winhelp/tutorial
	cp winhelp/img/*.png ./dists/Ngraph/winhelp/img
	cp winhelp/dialogs/*.jpg ./dists/Ngraph/winhelp/dialogs
	cd ./dists/Ngraph
	- rm ../ngws$(ACVER).zip
	zip -r ../ngws$(ACVER).zip *
        cd ../..

.rc.res:
	$(RC) -R $(WININCLUDE) -FO$*.res $<
