#
# Make file for use with emx-0.8f/gcc and ndmake 4.5
# for compiling for MS-DOS
# 
# This version has had very little testing.

EMXPATH = c:/emx

# uncomment the following two lines if you have 
# Johannes Martin's SVGA/VESA extensions
# A VESA 1.2 compatible display, and the vesa_emx.com TSR are required.
# "set term vgal" needs vesa_ibm.com with svgakit/vesa_emx version 1.2.
# VESA = -DEMXVESA
# VESALIB = -lvesa

# where to place gnuplot.gih helpfile
HELPFILE = gnuplot.gih

CFLAGS = -c -O2 -DMSDOS -DREADLINE

# see other terminal defines in term.h
TERMFLAGS = -DEMXVGA $(VESA)

OBJS = 	bitmap.o command.o contour.o eval.o graphics.o graph3d.o \
	help.o internal.o misc.o parse.o plot.o readline.o specfun.o \
	scanner.o setshow.o standard.o term.o util.o version.o \
        binary.o gnubin.o

CSOURCE5 = term\aed.trm term\cgi.trm term/dumb.trm term/dxf.trm term\dxy.trm \
	term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
	term\hp2648.trm term\hpgl.trm term\hpljii.trm 
CSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
	term\iris4d.trm term\kyo.trm term\latex.trm term/pbm.trm term\pm.trm 
CSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
	term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
	term\v384.trm term\x11.trm term\emxvga.trm
CSOURCE8 = contour.c

all: gnuplotx.exe $(HELPFILE)

# default rules
CCC = gcc $(CFLAGS) -o $*.o $*.c

gnuplotx.exe: $(OBJS) emxlink.rsp
        gcc -o gnuplot @emxlink.rsp -lm -lgraph $(VESALIB)
	emxbind $(EMXPATH)/bin/emx.exe gnuplot gnuplotx.exe -p -acmi

emxlink.rsp: makefile.emx
	echo bitmap.o> emxlink.rsp
	echo command.o>> emxlink.rsp
	echo contour.o>> emxlink.rsp
	echo eval.o>> emxlink.rsp
	echo graphics.o>> emxlink.rsp
	echo graph3d.o>> emxlink.rsp
	echo help.o>> emxlink.rsp
	echo internal.o>> emxlink.rsp
	echo misc.o>> emxlink.rsp
	echo parse.o>> emxlink.rsp
	echo plot.o>> emxlink.rsp
	echo readline.o>> emxlink.rsp
	echo specfun.o>> emxlink.rsp
	echo scanner.o>> emxlink.rsp
	echo setshow.o>> emxlink.rsp
	echo standard.o>> emxlink.rsp
	echo term.o>> emxlink.rsp
	echo util.o>> emxlink.rsp
	echo version.o>> emxlink.rsp
	echo binary.o>> emxlink.rsp
	echo gnubin.o>> emxlink.rsp

bitmap.o: bitmap.c bitmap.h plot.h
	$(CCC)

binary.o: binary.c plot.h
	$(CCC)

gnubin.o: gnubin.c plot.h
	$(CCC)

command.o: command.c plot.h setshow.h help.h
	$(CCC) -DHELPFILE=\"$(HELPFILE)\"

contour.o: contour.c plot.h
	$(CCC)

eval.o: eval.c plot.h
	$(CCC)

graphics.o: graphics.c plot.h setshow.h
	$(CCC)

graph3d.o: graph3d.c plot.h setshow.h
	$(CCC)

help.o: help.c plot.h help.h
	$(CCC)

internal.o: internal.c plot.h
	$(CCC)

misc.o: misc.c plot.h setshow.h
	$(CCC)

parse.o: parse.c plot.h
	$(CCC)

plot.o: plot.c plot.h setshow.h
	$(CCC)

readline.o: readline.c
	$(CCC)

scanner.o: scanner.c plot.h
	$(CCC)

setshow.o: setshow.c plot.h setshow.h
	$(CCC)

specfun.o: specfun.c plot.h
	$(CCC)

standard.o: standard.c plot.h
	$(CCC)

term.o: term.c term.h plot.h setshow.h bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
	$(CCC) $(TERMFLAGS) -Iterm

util.o: util.c plot.h
	$(CCC)

version.o: version.c
	$(CCC)

# convert gnuplot.doc to gnuplot.gih
doc2gih.exe: docs\doc2gih.c
	gcc -o doc2gih  docs/doc2gih.c
	emxbind $(EMXPATH)/bin/emx.exe doc2gih doc2gih.exe

$(HELPFILE): doc2gih.exe docs\gnuplot.doc
	doc2gih docs\gnuplot.doc $(HELPFILE)

clean:
	del *.o
	del emxlink.rsp
	del gnuplot
	del doc2gih

# veryclean target - remove all files created by the makefile

veryclean: clean
	del gnuplot.exe
	del doc2gih.exe
	del gnuplot.gih


