#
# Makefile for applications
#
CC=cl
CXX=cl
CFLAGS=-nologo -MD -O2
CXXFLAGS=$(CFLAGS) -TP
DEFS = -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0 -DWIN32=1

INCL=-I. -Ixpdf -Igoo -Ifofi -Isplash -I../../texk -I../../texk/kpathsea \
-I../freetype/include -I../libpng
FTLIB=../freetype/objs/freetype.lib
KPLIB=../../texk/kpathsea/kpathsea621.lib
GOOLIB=goo/libGoo.lib
FOFILIB=fofi/libfofi.lib
SPLASHLIB=splash/libsplash.lib
XPDFLIB=xpdf/libxpdf.lib
PNGLIB=../libpng/libpng.lib
ZLIB=../zlib/libz.lib
FTLIB=../freetype/objs/freetype.lib

BINPROGRAMS=objs/pdftotext.exe objs/pdfinfo.exe objs/pdffonts.exe \
objs/pdfdetach.exe objs/pdfimages.exe objs/pdftoppm.exe \
objs/pdftops.exe objs/pdftohtml.exe objs/pdftopng.exe

all: objs/pdftotext.exe objs/pdfinfo.exe objs/pdffonts.exe \
objs/pdfdetach.exe objs/pdfimages.exe objs/pdftoppm.exe \
objs/pdftops.exe objs/pdftohtml.exe objs/pdftopng.exe

#------------------

objs/pdftohtml.exe: objs/pdftohtml.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdftohtml.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB) $(PNGLIB) $(ZLIB) \
$(SPLASHLIB) $(FTLIB)

objs/pdftohtml.obj: xpdf/pdftohtml.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#------------------

objs/pdftopng.exe: objs/pdftopng.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdftopng.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB) $(PNGLIB) $(ZLIB) \
$(SPLASHLIB) $(FTLIB)

objs/pdftopng.obj: xpdf/pdftopng.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#------------------

objs/pdftotext.exe: objs/pdftotext.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdftotext.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB)

objs/pdftotext.obj: xpdf/pdftotext.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdfinfo.exe: objs/pdfinfo.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdfinfo.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB)

objs/pdfinfo.obj: xpdf/pdfinfo.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdffonts.exe: objs/pdffonts.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdffonts.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB)

objs/pdffonts.obj: xpdf/pdffonts.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdfdetach.exe: objs/pdfdetach.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdfdetach.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB)

objs/pdfdetach.obj: xpdf/pdfdetach.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdfimages.exe: objs/pdfimages.obj $(KPLIB)
	cl -Fe$@ objs/pdfimages.obj $(XPDFLIB) $(FOFILIB) $(GOOLIB) \
shell32.lib user32.lib gdi32.lib advapi32.lib $(KPLIB)

objs/pdfimages.obj: xpdf/pdfimages.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdftoppm.exe: objs/pdftoppm.obj $(XPDFLIB) $(SPLASHLIB) $(FOFILIB) \
$(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdftoppm.obj $(XPDFLIB) $(SPLASHLIB) $(FOFILIB) \
$(GOOLIB) $(FTLIB) shell32.lib user32.lib gdi32.lib advapi32.lib \
$(KPLIB)

objs/pdftoppm.obj: xpdf/pdftoppm.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------

objs/pdftops.exe: objs/pdftops.obj $(XPDFLIB) $(SPLASHLIB) $(FOFILIB) \
$(GOOLIB) $(KPLIB)
	cl -Fe$@ objs/pdftops.obj $(XPDFLIB) $(SPLASHLIB) $(FOFILIB) \
$(GOOLIB) $(FTLIB) shell32.lib user32.lib gdi32.lib advapi32.lib \
$(KPLIB)

objs/pdftops.obj: xpdf/pdftops.cc
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCL) -Fo$@ -c $<

#-------------------------------------------
$(GOOLIB):
	(cd goo; make)

$(FOFILIB):
	(cd fofi; make)

$(SPLASHLIB):
	(cd splash; make)

$(XPDFLIB):
	(cd xpdf; make)

#-------------------------------------------
install: $(BINPROGRAMS)
	cp -p $(BINPROGRAMS) c:/usr/local/bin/
	cp -p $(BINPROGRAMS) c:/usr/work/edrive/wk/dist/PDFTEX/bin/
