#
# Makefile for libpoppler (TeX Live/W32TeX)
#

#PTHREADLIB=pthreadVC2.lib
PTHREADLIB=

GOO_SRC = goo
FOFI_SRC = fofi
POPPLER_SRC = poppler
SPLASH_SRC = splash
CPP_SRC = cpp

goo_libGoo_a_objs = \
	$(GOO_SRC)/gbase64.obj \
	$(GOO_SRC)/gbasename.obj \
	$(GOO_SRC)/gfile.obj \
	$(GOO_SRC)/glibc.obj \
	$(GOO_SRC)/glibc_strtok_r.obj \
	$(GOO_SRC)/GooString.obj \
	$(GOO_SRC)/GooTimer.obj \
	$(GOO_SRC)/gstrtod.obj \
	$(GOO_SRC)/grandom.obj \
	$(GOO_SRC)/JpegWriter.obj \
	$(GOO_SRC)/ImgWriter.obj \
	$(GOO_SRC)/NetPBMWriter.obj \
	$(GOO_SRC)/PNGWriter.obj \
	$(GOO_SRC)/TiffWriter.obj

fofi_libfofi_a_objs = \
	$(FOFI_SRC)/FoFiBase.obj \
	$(FOFI_SRC)/FoFiEncodings.obj \
	$(FOFI_SRC)/FoFiIdentifier.obj \
	$(FOFI_SRC)/FoFiTrueType.obj \
	$(FOFI_SRC)/FoFiType1.obj \
	$(FOFI_SRC)/FoFiType1C.obj

poppler_libpoppler_a_objs = \
	$(POPPLER_SRC)/Annot.obj \
	$(POPPLER_SRC)/Array.obj \
	$(POPPLER_SRC)/BBoxOutputDev.obj \
	$(POPPLER_SRC)/CachedFile.obj \
	$(POPPLER_SRC)/Catalog.obj \
	$(POPPLER_SRC)/CertificateInfo.obj \
	$(POPPLER_SRC)/CharCodeToUnicode.obj \
	$(POPPLER_SRC)/CMap.obj \
	$(POPPLER_SRC)/DateInfo.obj \
	$(POPPLER_SRC)/Decrypt.obj \
	$(POPPLER_SRC)/Dict.obj \
	$(POPPLER_SRC)/Error.obj \
	$(POPPLER_SRC)/FileSpec.obj \
	$(POPPLER_SRC)/FlateEncoder.obj \
	$(POPPLER_SRC)/FlateStream.obj \
	$(POPPLER_SRC)/FontEncodingTables.obj \
	$(POPPLER_SRC)/Form.obj \
	$(POPPLER_SRC)/FontInfo.obj \
	$(POPPLER_SRC)/Function.obj \
	$(POPPLER_SRC)/Gfx.obj \
	$(POPPLER_SRC)/GfxFont.obj \
	$(POPPLER_SRC)/GfxState.obj \
	$(POPPLER_SRC)/GlobalParams.obj \
	$(POPPLER_SRC)/Hints.obj \
	$(POPPLER_SRC)/JArithmeticDecoder.obj \
	$(POPPLER_SRC)/JBIG2Stream.obj \
	$(POPPLER_SRC)/JPXStream.obj \
	$(POPPLER_SRC)/JSInfo.obj \
	$(POPPLER_SRC)/Lexer.obj \
	$(POPPLER_SRC)/Linearization.obj \
	$(POPPLER_SRC)/Link.obj \
	$(POPPLER_SRC)/LocalPDFDocBuilder.obj \
	$(POPPLER_SRC)/MarkedContentOutputDev.obj \
	$(POPPLER_SRC)/Movie.obj \
	$(POPPLER_SRC)/NameToCharCode.obj \
	$(POPPLER_SRC)/Object.obj \
	$(POPPLER_SRC)/OptionalContent.obj \
	$(POPPLER_SRC)/Outline.obj \
	$(POPPLER_SRC)/OutputDev.obj \
	$(POPPLER_SRC)/Page.obj \
	$(POPPLER_SRC)/PageTransition.obj \
	$(POPPLER_SRC)/Parser.obj \
	$(POPPLER_SRC)/PDFDoc.obj \
	$(POPPLER_SRC)/PDFDocBuilder.obj \
	$(POPPLER_SRC)/PDFDocEncoding.obj \
	$(POPPLER_SRC)/PDFDocFactory.obj \
	$(POPPLER_SRC)/ProfileData.obj \
	$(POPPLER_SRC)/PreScanOutputDev.obj \
	$(POPPLER_SRC)/PSTokenizer.obj \
	$(POPPLER_SRC)/Rendition.obj \
	$(POPPLER_SRC)/SignatureInfo.obj \
	$(POPPLER_SRC)/StdinCachedFile.obj \
	$(POPPLER_SRC)/StdinPDFDocBuilder.obj \
	$(POPPLER_SRC)/Stream.obj \
	$(POPPLER_SRC)/StructElement.obj \
	$(POPPLER_SRC)/StructTreeRoot.obj \
	$(POPPLER_SRC)/UnicodeMap.obj \
	$(POPPLER_SRC)/UnicodeMapFuncs.obj \
	$(POPPLER_SRC)/UnicodeTypeTable.obj \
	$(POPPLER_SRC)/UTF.obj \
	$(POPPLER_SRC)/XRef.obj \
	$(POPPLER_SRC)/TextOutputDev.obj \
	$(POPPLER_SRC)/PageLabelInfo.obj \
	$(POPPLER_SRC)/SecurityHandler.obj \
	$(POPPLER_SRC)/Sound.obj \
	$(POPPLER_SRC)/ViewerPreferences.obj \
	$(POPPLER_SRC)/CourierBoldObliqueWidths.pregenerated.obj \
	$(POPPLER_SRC)/CourierBoldWidths.pregenerated.obj \
	$(POPPLER_SRC)/CourierObliqueWidths.pregenerated.obj \
	$(POPPLER_SRC)/CourierWidths.pregenerated.obj \
	$(POPPLER_SRC)/HelveticaBoldObliqueWidths.pregenerated.obj \
	$(POPPLER_SRC)/HelveticaBoldWidths.pregenerated.obj \
	$(POPPLER_SRC)/HelveticaObliqueWidths.pregenerated.obj \
	$(POPPLER_SRC)/HelveticaWidths.pregenerated.obj \
	$(POPPLER_SRC)/SymbolWidths.pregenerated.obj \
	$(POPPLER_SRC)/TimesBoldItalicWidths.pregenerated.obj \
	$(POPPLER_SRC)/TimesBoldWidths.pregenerated.obj \
	$(POPPLER_SRC)/TimesItalicWidths.pregenerated.obj \
	$(POPPLER_SRC)/TimesRomanWidths.pregenerated.obj \
	$(POPPLER_SRC)/ZapfDingbatsWidths.pregenerated.obj

cpp_objs = \
	$(CPP_SRC)/poppler-destination.obj \
	$(CPP_SRC)/poppler-document.obj \
	$(CPP_SRC)/poppler-embedded-file.obj \
	$(CPP_SRC)/poppler-font.obj \
	$(CPP_SRC)/poppler-global.obj \
	$(CPP_SRC)/poppler-image.obj \
	$(CPP_SRC)/poppler-page-renderer.obj \
	$(CPP_SRC)/poppler-page-transition.obj \
	$(CPP_SRC)/poppler-page.obj \
	$(CPP_SRC)/poppler-private.obj \
	$(CPP_SRC)/poppler-rectangle.obj \
	$(CPP_SRC)/poppler-toc.obj \
	$(CPP_SRC)/poppler-version.obj

libpoppler_a_OBJS = \
	$(goo_libGoo_a_objs) \
	$(fofi_libfofi_a_objs) \
	$(poppler_libpoppler_a_objs)

all: libpoppler.lib libpoppler-cpp.lib
#all: libpoppler.lib

libpoppler.lib: $(goo_libGoo_a_objs) $(fofi_libfofi_a_objs) \
                $(poppler_libpoppler_a_objs)
	rm -f $@
	lib -out:$@ $(libpoppler_a_OBJS) $(PTHREADLIB)

libpoppler-cpp.lib: $(cpp_objs)
	rm -f $@
	lib -out:$@ $(cpp_objs)

$(goo_libGoo_a_objs): $(goo_libGoo_a_sources)
	(cd goo; make)

$(fofi_libfofi_a_objs): $(fofi_libfofi_a_soures)
	(cd fofi; make)

$(poppler_libpoppler_a_objs): $(poppler_libpoppler_a_sources)
	(cd poppler; make)

$(cpp_objs): $(cpp_srcs)
	(cd cpp; make)

libpoppler_a_SOURCES = \
	$(goo_libGoo_a_sources) \
	$(fofi_libfofi_a_sources) \
	$(poppler_libpoppler_a_sources)

goo_libGoo_a_sources = \
	$(GOO_SRC)/gbase64.cc \
	$(GOO_SRC)/gbasename.cc \
	$(GOO_SRC)/gfile.cc \
	$(GOO_SRC)/glibc.cc \
	$(GOO_SRC)/glibc_strtok_r.cc \
	$(GOO_SRC)/GooString.cc \
	$(GOO_SRC)/GooTimer.cc \
	$(GOO_SRC)/gstrtod.cc \
	$(GOO_SRC)/grandom.cc \
	$(GOO_SRC)/PNGWriter.cc \
	$(GOO_SRC)/TiffWriter.cc


fofi_libfofi_a_sources = \
	$(FOFI_SRC)/FoFiBase.cc \
	$(FOFI_SRC)/FoFiEncodings.cc \
	$(FOFI_SRC)/FoFiIdentifier.cc \
	$(FOFI_SRC)/FoFiTrueType.cc \
	$(FOFI_SRC)/FoFiType1.cc \
	$(FOFI_SRC)/FoFiType1C.cc

poppler_libpoppler_a_sources = \
	$(POPPLER_SRC)/Annot.cc \
	$(POPPLER_SRC)/Array.cc \
	$(POPPLER_SRC)/BBoxOutputDev.cc \
	$(POPPLER_SRC)/Catalog.cc \
	$(POPPLER_SRC)/CertificateInfo.cc \
	$(POPPLER_SRC)/CMap.cc \
	$(POPPLER_SRC)/CharCodeToUnicode.cc \
	$(POPPLER_SRC)/DateInfo.cc \
	$(POPPLER_SRC)/Decrypt.cc \
	$(POPPLER_SRC)/Dict.cc \
	$(POPPLER_SRC)/Error.cc \
	$(POPPLER_SRC)/FileSpec.cc \
	$(POPPLER_SRC)/FlateEncoder.cc \
	$(POPPLER_SRC)/FontEncodingTables.cc \
	$(POPPLER_SRC)/FontInfo.cc \
	$(POPPLER_SRC)/Form.cc \
	$(POPPLER_SRC)/Function.cc \
	$(POPPLER_SRC)/Gfx.cc \
	$(POPPLER_SRC)/GfxFont.cc \
	$(POPPLER_SRC)/GfxState.cc \
	$(POPPLER_SRC)/GlobalParams.cc \
	$(POPPLER_SRC)/JArithmeticDecoder.cc \
	$(POPPLER_SRC)/JBIG2Stream.cc \
	$(POPPLER_SRC)/JPXStream.cc \
	$(POPPLER_SRC)/JSInfo.cc \
	$(POPPLER_SRC)/Lexer.cc \
	$(POPPLER_SRC)/Link.cc \
	$(POPPLER_SRC)/Movie.cc \
	$(POPPLER_SRC)/NameToCharCode.cc \
	$(POPPLER_SRC)/Object.cc \
	$(POPPLER_SRC)/OptionalContent.cc \
	$(POPPLER_SRC)/Outline.cc \
	$(POPPLER_SRC)/OutputDev.cc \
	$(POPPLER_SRC)/PDFDoc.cc \
	$(POPPLER_SRC)/PDFDocBuilder.cc \
	$(POPPLER_SRC)/PDFDocEncoding.cc \
	$(POPPLER_SRC)/PSTokenizer.cc \
	$(POPPLER_SRC)/Page.cc \
	$(POPPLER_SRC)/PageLabelInfo.cc \
	$(POPPLER_SRC)/PageTransition.cc \
	$(POPPLER_SRC)/Parser.cc \
	$(POPPLER_SRC)/PreScanOutputDev.cc \
	$(POPPLER_SRC)/ProfileData.cc \
	$(POPPLER_SRC)/SecurityHandler.cc \
	$(POPPLER_SRC)/SignatureInfo.cc \
	$(POPPLER_SRC)/Sound.cc \
	$(POPPLER_SRC)/Stream.cc \
	$(POPPLER_SRC)/UnicodeMap.cc \
	$(POPPLER_SRC)/UnicodeMapFuncs.cc \
	$(POPPLER_SRC)/UnicodeTypeTable.cc \
	$(POPPLER_SRC)/UTF.cc \
	$(POPPLER_SRC)/XRef.cc \
	$(POPPLER_SRC)/ViewerPreferences.cc

cpp_srcs = \
	$(CPP_SRC)/poppler-destination.cpp \
	$(CPP_SRC)/poppler-document.cpp \
	$(CPP_SRC)/poppler-embedded-file.cpp \
	$(CPP_SRC)/poppler-font.cpp \
	$(CPP_SRC)/poppler-global.cpp \
	$(CPP_SRC)/poppler-image.cpp \
	$(CPP_SRC)/poppler-page-renderer.cpp \
	$(CPP_SRC)/poppler-page-transition.cpp \
	$(CPP_SRC)/poppler-page.cpp \
	$(CPP_SRC)/poppler-private.cpp \
	$(CPP_SRC)/poppler-rectangle.cpp \
	$(CPP_SRC)/poppler-toc.cpp \
	$(CPP_SRC)/poppler-version.cpp

clean::
	rm -f *~ *.lib $(GOO_SRC)/*.obj $(FOFI_SRC)/*.obj $(POPPLER_SRC)/*.obj $(SPLASH_SRC)/*.obj $(CPP_SRC)/*.obj
