GOO_SRC = ../goo
FOFI_SRC = ../fofi
POPPLER_SRC = ../poppler

INCS = -I.. -I../goo -I../fofi -I../poppler -I../../../libpng \
-I../../../zlib -I../../../cairo/cairo-exe/src \
-I../lcms2 \
-I../../../freetype/include \
-I../../../fontconfig \
-I../../../../texk/kpathsea \
-I../../../../texk

NDEFS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-D_CRT_OBSOLETE_NO_DEPRECATE -D_SECURE_SCL=0 -DCAIRO_WIN32_STATIC_BUILD=1 -Dpopen=win32_popen -Dpclose=win32_pclose

CPPFLAGS = -DWIN32=1 -DHAVE_CONFIG_H=1 $(NDEFS)
CXX = cl
CXXFLAGS = -GR -EHsc -MT -O2 -nologo -wd4819 $(CPPFLAGS) $(INCS)

pdfseparate_SOURCES = \
	pdfseparate.cc parseargs.cc Win32Console.cc

pdfseparate_OBJS = \
	pdfseparate.obj parseargs.obj Win32Console.obj

PDFSEPLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib \
../lcms2/liblcms2.lib
PDFSEPSYSLIBS=advapi32.lib shell32.lib

pdftocairo_SOURCES =				\
	pdftocairo.cc				\
	pdftocairo-win32.cc \
	parseargs.cc \
	Win32Console.cc

pdftocairo_OBJS =				\
	pdftocairo.obj				\
	pdftocairo-win32.obj \
	parseargs.obj \
	Win32Console.obj

PDFCAIROLIBS=../goo/libgoo.lib ../fofi/libfofi.lib ../poppler/libpoppler.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib \
../../../cairo/cairo-exe/src/release/cairo-static.lib \
../../../fontconfig/src/libfontconfig.lib \
../lcms2/liblcms2.lib \
../../../freetype/objs/freetype.lib \
../../../expat/lib/libexpat.lib \
../../../../texk/kpathsea/libkpathsea.lib

PDFCAIROSYSLIBS=user32.lib advapi32.lib comdlg32.lib shell32.lib \
gdi32.lib msimg32.lib winspool.lib rpcrt4.lib

pdfdetach_SOURCES = \
	pdfdetach.cc \
	parseargs.cc \
	Win32Console.cc
pdfdetach_OBJS = \
	pdfdetach.obj \
	parseargs.obj \
	Win32Console.obj

PDFDETLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib
PDFDETSYSLIBS=advapi32.lib shell32.lib

pdffonts_SOURCES = \
	pdffonts.cc \
	parseargs.cc \
	Win32Console.cc
pdffonts_OBJS = \
	pdffonts.obj \
	parseargs.obj \
	Win32Console.obj

PDFFONTSLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib
PDFFONTSSYSLIBS=advapi32.lib shell32.lib

pdfsig_SOURCES = \
	pdfsig.cc \
	parseargs.cc \
	Win32Console.cc
pdfsig_OBJS = \
	pdfsig.obj \
	parseargs.obj \
	Win32Console.obj
PDFSIGLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib \
../../../../texk/kpathsea/libkpathsea.lib
PDFSIGSYSLIBS=user32.lib advapi32.lib shell32.lib

pdfimages_SOURCES = \
	pdfimages.cc \
	ImageOutputDev.cc \
	parseargs.cc \
	Win32Console.cc
pdfimages_OBJS = \
	pdfimages.obj \
	ImageOutputDev.obj \
	parseargs.obj \
	Win32Console.obj
PDFIMGLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
 ../../../libpng/libpng.lib
PDFIMGSYSLIBS=advapi32.lib shell32.lib

pdfinfo_SOURCES = \
	pdfinfo.cc \
	printencodings.cc \
	parseargs.cc \
	Win32Console.cc
pdfinfo_OBJS = \
	pdfinfo.obj \
	printencodings.obj \
	parseargs.obj \
	Win32Console.obj
PDFINFLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib
PDFINFSYSLIBS=advapi32.lib shell32.lib

pdftops_SOURCES = \
	pdftops.cc \
	parseargs.cc \
	sanitychecks.cc \
	Win32Console.cc
pdftops_OBJS = \
	pdftops.obj \
	parseargs.obj \
	sanitychecks.obj \
	Win32Console.obj
PDFPSLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../../../freetype/objs/freetype.lib \
../../../libpng/libpng.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../../texk/kpathsea/libkpathsea.lib

PDFPSSYSLIBS=advapi32.lib user32.lib shell32.lib

pdftotext_SOURCES = \
	pdftotext.cc \
	printencodings.cc \
	parseargs.cc \
	Win32Console.cc
pdftotext_OBJS = \
	pdftotext.obj \
	printencodings.obj \
	parseargs.obj \
	Win32Console.obj
PDFTXTLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib
PDFTXTSYSLIBS=advapi32.lib shell32.lib

pdftohtml_SOURCES = \
	pdftohtml.cc \
	HtmlFonts.cc \
	HtmlLinks.cc \
	HtmlOutputDev.cc \
	InMemoryFile.cc \
	parseargs.cc \
	Win32Console.cc
pdftohtml_OBJS = \
	pdftohtml.obj \
	HtmlFonts.obj \
	HtmlLinks.obj \
	HtmlOutputDev.obj \
	InMemoryFile.obj \
	parseargs.obj \
	Win32Console.obj
PDFHTMLLIBS=../goo/libgoo.lib ../fofi/libfofi.lib ../poppler/libpoppler.lib ../lcms2/liblcms2.lib \
../../../freetype/objs/freetype.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
 ../../../libpng/libpng.lib \
../../../../texk/kpathsea/libkpathsea.lib
PDFHTMLSYSLIBS=user32.lib advapi32.lib shell32.lib

pdfunite_SOURCES = \
	pdfunite.cc \
	parseargs.cc
pdfunite_OBJS = \
	pdfunite.obj \
	parseargs.obj
PDFUNITELIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib
PDFUNITESYSLIBS=advapi32.lib

pdftoppm_SOURCES = \
	pdftoppm.cc \
	parseargs.cc \
	sanitychecks.cc \
	Win32Console.cc
pdftoppm_OBJS = \
	pdftoppm.obj \
	parseargs.obj \
	sanitychecks.obj \
	Win32Console.obj
PDFPPMLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib \
../lcms2/liblcms2.lib \
../splash/libsplash.lib ../../../zlib/libz.lib \
../../../libpng/libpng.lib \
../../../freetype/objs/freetype.lib \
../../../../texk/kpathsea/libkpathsea.lib
PDFPPMSYSLIBS=user32.lib advapi32.lib shell32.lib

pdfattach_SOURCES = \
	pdfattach.cc \
	parseargs.cc \
	Win32Console.cc
pdfattach_OBJS = \
	pdfattach.obj \
	parseargs.obj \
	Win32Console.obj
PDFATTLIBS=../goo/libgoo.lib ../fofi/libfofi.lib \
../poppler/libpoppler.lib ../splash/libsplash.lib \
../lcms2/liblcms2.lib \
../../../zlib/libz.lib ../../../libpng/libpng.lib
PDFATTSYSLIBS=advapi32.lib shell32.lib

PROGRAMS=pdfseparate.exe pdftocairo.exe pdfdetach.exe \
pdffonts.exe pdfsig.exe pdfimages.exe pdfinfo.exe pdftops.exe \
pdftotext.exe pdftohtml.exe pdfunite.exe pdftoppm.exe \
pdfattach.exe

all: $(PROGRAMS)

pdfseparate.exe: $(pdfseparate_OBJS) $(PDFSEPLIBS)
	$(CC) -Fe$@ $(pdfseparate_OBJS) $(PDFSEPLIBS) $(PDFSEPSYSLIBS)

pdftocairo.exe: $(pdftocairo_OBJS) $(PDFCAIROLIBS)
	$(CC) -Fe$@ $(pdftocairo_OBJS) $(PDFCAIROLIBS) $(PDFCAIROSYSLIBS)

pdfdetach.exe: $(pdfdetach_OBJS) $(PDFDETLIBS)
	$(CC) -Fe$@ $(pdfdetach_OBJS) $(PDFDETLIBS) $(PDFDETSYSLIBS)

pdffonts.exe: $(pdffonts_OBJS) $(PDFFONTSLIBS)
	$(CC) -Fe$@ $(pdffonts_OBJS) $(PDFFONTSLIBS) $(PDFFONTSSYSLIBS)

pdfsig.exe: $(pdfsig_OBJS) $(PDFSIGLIBS)
	$(CC) -Fe$@ $(pdfsig_OBJS) $(PDFSIGLIBS) $(PDFSIGSYSLIBS)

pdfimages.exe: $(pdfimages_OBJS) $(PDFIMGLIBS)
	$(CC) -Fe$@ $(pdfimages_OBJS) $(PDFIMGLIBS) $(PDFIMGSYSLIBS)

pdfinfo.exe: $(pdfinfo_OBJS) $(PDFINFLIBS)
	$(CC) -Fe$@ $(pdfinfo_OBJS) $(PDFINFLIBS) $(PDFINFSYSLIBS)

pdftops.exe: $(pdftops_OBJS) $(PDFPSLIBS)
	$(CC) -Fe$@ $(pdftops_OBJS) $(PDFPSLIBS) $(PDFPSSYSLIBS)

pdftotext.exe: $(pdftotext_OBJS) $(PDFTXTLIBS)
	$(CC) -Fe$@ $(pdftotext_OBJS) $(PDFTXTLIBS) $(PDFTXTSYSLIBS)

pdftohtml.exe: $(pdftohtml_OBJS) $(PDFHTMLLIBS)
	$(CC) -Fe$@ $(pdftohtml_OBJS) $(PDFHTMLLIBS) $(PDFHTMLSYSLIBS)

pdfunite.exe: $(pdfunite_OBJS) $(PDFUNITELIBS)
	$(CC) -Fe$@ $(pdfunite_OBJS) $(PDFUNITELIBS) $(PDFUNITESYSLIBS)

pdftoppm.exe: $(pdftoppm_OBJS) $(PDFPPMLIBS)
	$(CC) -Fe$@ $(pdftoppm_OBJS) $(PDFPPMLIBS) $(PDFPPMSYSLIBS)

pdfattach.exe: $(pdfattach_OBJS) $(PDFATTLIBS)
	$(CC) -Fe$@ $(pdfattach_OBJS) $(PDFATTLIBS) $(PDFATTSYSLIBS)

clean:
	rm -f *.obj *.exe *~

.SUFFIXES: .cc .obj .cpp

.cc.obj:
	$(CXX) $(CXXFLAGS) -c -TP $<

.cpp.obj:
	$(CXX) $(CXXFLAGS) -c -TP $<

ZZ=c:/usr/local/txdir/w32tex/bin

install: $(PROGRAMS)
	cp -p $(PROGRAMS) $(ZZ)/
	cp -p $(PROGRAMS) c:/usr/work/edrive/wk/dist/PDFTEX/bin/
