# # Build flags # include Jamconfig ; include $(HOME)/.jamconfig ; HDRS = include filter ; # # Libraries # if -DNEED_GETOPT in $(CCFLAGS) { Library libfitz : util/getopt.c ; } if -DNEED_STRSEP in $(CCFLAGS) { Library libfitz : util/strsep.c ; } if -DNEED_STRLCPY in $(CCFLAGS) { Library libfitz : util/strlcpy.c ; } if -DNEED_STRLCAT in $(CCFLAGS) { Library libfitz : util/strlcat.c ; } if $(HAVE_JASPER) { CCFLAGS += -DHAVE_JASPER ; LINKLIBS += -ljasper ; Library libfitz : filter/jpxd.c ; } if $(HAVE_JBIG2DEC) { CCFLAGS += -DHAVE_JBIG2DEC ; LINKLIBS += -ljbig2dec ; Library libfitz : filter/jbig2d.c ; } Library libfitz : base/cpudep.c base/error.c base/memory.c base/md5.c base/arc4.c base/rect.c base/matrix.c base/hash.c base/rune.c ; Library libfitz : object/simple.c object/array.c object/dict.c object/print.c object/parse.c ; Library libfitz : filter/buffer.c filter/filter.c filter/filec.c # unistd.h filter/filer.c # unistd.h filter/filew.c # unistd.h filter/null.c filter/arc4filter.c filter/pipeline.c filter/ahxd.c filter/ahxe.c filter/a85d.c filter/a85e.c filter/rld.c filter/rle.c filter/predict.c filter/lzwd.c filter/lzwe.c filter/faxd.c filter/faxdtab.c filter/faxe.c filter/faxetab.c filter/flate.c # libz filter/dctd.c # libjpeg filter/dcte.c # libjpeg ; Library libfitz : tree/cmap.c tree/font.c tree/colorspace.c tree/image.c tree/shade.c tree/tree.c tree/node1.c tree/node2.c tree/text.c tree/path.c tree/debug.c tree/optimize.c ; Library libfitz : render/glyphcache.c render/pixmap.c render/porterduff.c render/meshdraw.c render/imagedraw.c render/imageunpack.c render/imagescale.c render/pathscan.c render/pathfill.c render/pathstroke.c render/render.c ; if $(OSPLAT) = PPC { Library libfitz : render/archppc.c ; } if $(OSPLAT) = SPARC { Library libfitz : render/archsparc.c ; } if $(OSPLAT) = X86 { Library libfitz : render/archx86.c ; } Library libmupdf : mupdf/debug.c mupdf/lex.c mupdf/parse.c mupdf/crypt.c mupdf/open.c mupdf/repair.c mupdf/save.c mupdf/xref.c mupdf/stream.c mupdf/doctor.c mupdf/nametree.c mupdf/outline.c mupdf/annot.c mupdf/pagetree.c mupdf/store.c mupdf/resources.c mupdf/function.c mupdf/colorspace1.c mupdf/colorspace2.c mupdf/xobject.c mupdf/image.c mupdf/pattern.c mupdf/cmap.c mupdf/unicode.c mupdf/fontagl.c mupdf/fontenc.c mupdf/fontfile.c mupdf/font.c mupdf/type3.c mupdf/page.c mupdf/build.c mupdf/interpret.c mupdf/shade.c mupdf/shade1.c mupdf/shade2.c mupdf/shade3.c mupdf/shade4.c ; # Library libmupdf : mupdf/fontfilefc.c ; # Library libmupdf : mupdf/fontfilems.c ; rule HexDump { DEPENDS $(<) : $(>) ; Clean clean : $(<) ; } actions HexDump { xxd -i $(>) | sed -e 's/data_//g;s/, /,/g' > $(<) } HexDump data/Dingbats.c : data/Dingbats.cff ; HexDump data/NimbusMonL-Bold.c : data/NimbusMonL-Bold.cff ; HexDump data/NimbusMonL-BoldObli.c : data/NimbusMonL-BoldObli.cff ; HexDump data/NimbusMonL-Regu.c : data/NimbusMonL-Regu.cff ; HexDump data/NimbusMonL-ReguObli.c : data/NimbusMonL-ReguObli.cff ; HexDump data/NimbusRomNo9L-Medi.c : data/NimbusRomNo9L-Medi.cff ; HexDump data/NimbusRomNo9L-MediItal.c : data/NimbusRomNo9L-MediItal.cff ; HexDump data/NimbusRomNo9L-Regu.c : data/NimbusRomNo9L-Regu.cff ; HexDump data/NimbusRomNo9L-ReguItal.c : data/NimbusRomNo9L-ReguItal.cff ; HexDump data/NimbusSanL-Bold.c : data/NimbusSanL-Bold.cff ; HexDump data/NimbusSanL-BoldItal.c : data/NimbusSanL-BoldItal.cff ; HexDump data/NimbusSanL-Regu.c : data/NimbusSanL-Regu.cff ; HexDump data/NimbusSanL-ReguItal.c : data/NimbusSanL-ReguItal.cff ; HexDump data/StandardSymL.c : data/StandardSymL.cff ; HexDump data/URWChanceryL-MediItal.c : data/URWChanceryL-MediItal.cff ; Library libmupdf : data/Dingbats.c data/NimbusMonL-Bold.c data/NimbusMonL-BoldObli.c data/NimbusMonL-Regu.c data/NimbusMonL-ReguObli.c data/NimbusRomNo9L-Medi.c data/NimbusRomNo9L-MediItal.c data/NimbusRomNo9L-Regu.c data/NimbusRomNo9L-ReguItal.c data/NimbusSanL-Bold.c data/NimbusSanL-BoldItal.c data/NimbusSanL-Regu.c data/NimbusSanL-ReguItal.c data/StandardSymL.c data/URWChanceryL-MediItal.c ; # # Applications # LINKLIBS = -lfreetype -ljpeg -lz -lm ; if $(OS) = MINGW { rule UserObject { Res $(<) : $(>) ; } rule Res { Depends $(<) : $(>) ; } actions Res { windres -i $(>) -o $(<) } Main w32pdf : apps/w32pdf.c apps/w32res.rc ; LinkLibraries w32pdf : libmupdf libfitz ; LINKLIBS on w32pdf$(SUFEXE) = $(LINKLIBS) -lgdi32 -lcomdlg32 -mwindows ; } if $(OS) = MACOSX { MACPDF = apps/macpdf.app/Contents/MacOS/macpdf ; Main $(MACPDF) : apps/macpdf.c ; LinkLibraries $(MACPDF) : libmupdf libfitz ; LINKLIBS on $(MACPDF) = $(LINKLIBS) -framework Carbon ; } if $(HAVE_X11) { Main x11pdf : apps/x11pdf.c apps/ximage.c ; LinkLibraries x11pdf : libmupdf libfitz ; LINKLIBS on x11pdf$(SUFEXE) = $(LINKLIBS) -lX11 -lXext ; } if $(HAVE_GTK) { Main gtkpdf : apps/gtkpdf.c ; CCFLAGS on apps/gtkpdf$(SUFOBJ) = $(CCFLAGS) `pkg-config --cflags gtk+ gthread` ; LinkLibraries gtkpdf : libmupdf libfitz ; LINKLIBS on gtkpdf$(SUFEXE) = $(LINKLIBS) `pkg-config --libs gtk+ gmodule gthread` ; } Main pdfclean : apps/pdfclean.c ; Main pdfdebug : apps/pdfdebug.c ; Main pdfrip : apps/pdfrip.c ; Main pdfmerge : apps/pdfmerge.c ; Main pdfselect : apps/pdfselect.c ; LinkLibraries pdfclean pdfdebug pdfrip pdfmerge pdfselect : libmupdf libfitz ;