summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile57
-rw-r--r--Makerules14
-rw-r--r--Makethird195
3 files changed, 239 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 2623963a..af1dd874 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
# GNU Makefile for MuPDF
#
-# make build=release prefix=/usr/local [pregen=dir] install
+# make build=release prefix=/usr/local install
#
default: all
@@ -11,15 +11,23 @@ prefix ?= /usr/local
OBJDIR := build/$(build)
GENDIR := build/generated
-# If no pregen is supplied, then generate (dump) the font and cmap .c
-# files as part of the build. If it is supplied, then just build from
-# that directory.
+# If no pregen directory is supplied, then generate (dump) the
+# font and cmap .c files as part of the build.
+# If it is supplied, then just use the files from that directory.
+
+pregen := $(wildcard pregen)
ifneq "$(pregen)" ""
GENDIR := $(pregen)
endif
+# Include makefile for third party libraries.
+# They will only be built if the thirdparty directory exists.
+
+-include Makethird
+
# Compiler flags and configuration options are kept in a separate file.
+# This file includes some tests based on variables set by Makethird.
-include Makerules
@@ -63,7 +71,8 @@ FITZ_SRC=$(addprefix fitz/, \
base_error.c base_memory.c base_string.c base_unicode.c \
base_hash.c base_matrix.c base_rect.c \
crypt_aes.c crypt_arc4.c crypt_md5.c \
- filt_aesd.c filt_arc4.c filt_basic.c filt_dctd.c filt_faxd.c filt_faxdtab.c filt_flate.c \
+ filt_aesd.c filt_arc4.c filt_basic.c \
+ filt_dctd.c filt_faxd.c filt_faxdtab.c filt_flate.c \
filt_jbig2d.c filt_jpxd.c filt_lzwd.c filt_pipeline.c filt_predict.c \
dev_null.c dev_text.c dev_draw.c dev_bbox.c dev_list.c dev_trace.c \
obj_array.c obj_dict.c obj_print.c obj_simple.c \
@@ -75,7 +84,8 @@ FITZ_OBJ=$(FITZ_SRC:fitz/%.c=$(OBJDIR)/%.o)
$(FITZ_OBJ): $(FITZ_HDR)
DRAW_SRC=$(addprefix draw/, $(ARCH_SRC) \
- archport.c blendmodes.c glyphcache.c imagedraw.c imagescale.c imageunpack.c meshdraw.c \
+ archport.c blendmodes.c glyphcache.c \
+ imagedraw.c imagescale.c imageunpack.c meshdraw.c \
pathfill.c pathscan.c pathstroke.c porterduff.c )
DRAW_OBJ=$(DRAW_SRC:draw/%.c=$(OBJDIR)/%.o)
$(DRAW_OBJ): $(FITZ_HDR)
@@ -85,10 +95,10 @@ MUPDF_SRC=$(addprefix mupdf/, \
pdf_annot.c pdf_build.c pdf_cmap.c pdf_cmap_load.c pdf_cmap_parse.c \
pdf_cmap_table.c pdf_colorspace.c pdf_crypt.c pdf_debug.c \
pdf_font.c pdf_fontagl.c pdf_fontenc.c pdf_fontfile.c pdf_fontmtx.c \
- pdf_function.c pdf_image.c pdf_interpret.c pdf_lex.c pdf_nametree.c pdf_open.c \
- pdf_outline.c pdf_page.c pdf_pagetree.c pdf_parse.c pdf_pattern.c pdf_repair.c \
- pdf_shade.c pdf_store.c pdf_stream.c pdf_type3.c \
- pdf_unicode.c pdf_xobject.c pdf_xref.c )
+ pdf_function.c pdf_image.c pdf_interpret.c pdf_lex.c pdf_nametree.c \
+ pdf_open.c pdf_outline.c pdf_page.c pdf_pagetree.c pdf_parse.c \
+ pdf_pattern.c pdf_repair.c pdf_shade.c pdf_store.c pdf_stream.c \
+ pdf_type3.c pdf_unicode.c pdf_xobject.c pdf_xref.c )
MUPDF_OBJ=$(MUPDF_SRC:mupdf/%.c=$(OBJDIR)/%.o)
$(MUPDF_OBJ): $(MUPDF_HDR)
@@ -106,10 +116,13 @@ $(OBJDIR)/%.o: $(GENDIR)/%.c
#
BASEFONT_FILES=$(addprefix fonts/, \
- Dingbats.cff NimbusMonL-Bold.cff NimbusMonL-BoldObli.cff NimbusMonL-Regu.cff \
- NimbusMonL-ReguObli.cff NimbusRomNo9L-Medi.cff NimbusRomNo9L-MediItal.cff \
- NimbusRomNo9L-Regu.cff NimbusRomNo9L-ReguItal.cff NimbusSanL-Bold.cff \
- NimbusSanL-BoldItal.cff NimbusSanL-Regu.cff NimbusSanL-ReguItal.cff \
+ Dingbats.cff \
+ NimbusMonL-Bold.cff NimbusMonL-BoldObli.cff \
+ NimbusMonL-Regu.cff NimbusMonL-ReguObli.cff \
+ NimbusRomNo9L-Medi.cff NimbusRomNo9L-MediItal.cff \
+ NimbusRomNo9L-Regu.cff NimbusRomNo9L-ReguItal.cff \
+ NimbusSanL-Bold.cff NimbusSanL-BoldItal.cff \
+ NimbusSanL-Regu.cff NimbusSanL-ReguItal.cff \
StandardSymL.cff URWChanceryL-MediItal.cff )
CJKFONT_FILES=fonts/droid/DroidSansFallback.ttf
@@ -223,7 +236,7 @@ PDFSHOW_OBJ=$(PDFSHOW_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFSHOW_EXE=$(OBJDIR)/pdfshow
$(PDFSHOW_OBJ): $(MUPDF_HDR) $(PDFTOOL_HDR)
-$(PDFSHOW_EXE): $(PDFSHOW_OBJ) $(MUPDF_LIB)
+$(PDFSHOW_EXE): $(PDFSHOW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD)
PDFCLEAN_SRC=apps/pdfclean.c apps/pdftool.c
@@ -231,7 +244,7 @@ PDFCLEAN_OBJ=$(PDFCLEAN_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFCLEAN_EXE=$(OBJDIR)/pdfclean
$(PDFCLEAN_OBJ): $(MUPDF_HDR) $(PDFTOOL_HDR)
-$(PDFCLEAN_EXE): $(PDFCLEAN_OBJ) $(MUPDF_LIB)
+$(PDFCLEAN_EXE): $(PDFCLEAN_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD)
PDFDRAW_SRC=apps/pdfdraw.c apps/pdftool.c
@@ -239,7 +252,7 @@ PDFDRAW_OBJ=$(PDFDRAW_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFDRAW_EXE=$(OBJDIR)/pdfdraw
$(PDFDRAW_OBJ): $(MUPDF_HDR) $(PDFTOOL_HDR)
-$(PDFDRAW_EXE): $(PDFDRAW_OBJ) $(MUPDF_LIB)
+$(PDFDRAW_EXE): $(PDFDRAW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD)
PDFEXTRACT_SRC=apps/pdfextract.c apps/pdftool.c
@@ -247,7 +260,7 @@ PDFEXTRACT_OBJ=$(PDFEXTRACT_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFEXTRACT_EXE=$(OBJDIR)/pdfextract
$(PDFEXTRACT_OBJ): $(MUPDF_HDR) $(PDFTOOL_HDR)
-$(PDFEXTRACT_EXE): $(PDFEXTRACT_OBJ) $(MUPDF_LIB)
+$(PDFEXTRACT_EXE): $(PDFEXTRACT_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD)
PDFINFO_SRC=apps/pdfinfo.c apps/pdftool.c
@@ -255,7 +268,7 @@ PDFINFO_OBJ=$(PDFINFO_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFINFO_EXE=$(OBJDIR)/pdfinfo
$(PDFINFO_OBJ): $(MUPDF_HDR) $(PDFTOOL_HDR)
-$(PDFINFO_EXE): $(PDFINFO_OBJ) $(MUPDF_LIB)
+$(PDFINFO_EXE): $(PDFINFO_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD)
X11VIEW_SRC=apps/x11_main.c apps/x11_image.c apps/pdfapp.c
@@ -263,7 +276,7 @@ X11VIEW_OBJ=$(X11VIEW_SRC:apps/%.c=$(OBJDIR)/%.o)
X11VIEW_EXE=$(OBJDIR)/mupdf
$(X11VIEW_OBJ): $(MUPDF_HDR) $(PDFAPP_HDR)
-$(X11VIEW_EXE): $(X11VIEW_OBJ) $(MUPDF_LIB)
+$(X11VIEW_EXE): $(X11VIEW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD) $(X11LIBS)
WINVIEW_SRC=apps/win_main.c apps/pdfapp.c
@@ -275,7 +288,7 @@ $(OBJDIR)/%.o: apps/%.rc
windres -i $< -o $@ --include-dir=apps
$(WINVIEW_OBJ): $(MUPDF_HDR) $(PDFAPP_HDR)
-$(WINVIEW_EXE): $(WINVIEW_OBJ) $(MUPDF_LIB)
+$(WINVIEW_EXE): $(WINVIEW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
$(LD_CMD) $(W32LIBS)
#
@@ -292,7 +305,7 @@ dist: $(DIRS) $(APPS)
# Default rules
#
-all: $(DIRS) $(MUPDF_LIB) $(APPS)
+all: $(DIRS) $(THIRD_LIBS) $(MUPDF_LIB) $(APPS)
clean:
rm -rf $(OBJDIR)/*
diff --git a/Makerules b/Makerules
index e9273e7a..a4411763 100644
--- a/Makerules
+++ b/Makerules
@@ -3,8 +3,8 @@
OS := $(shell uname)
OS := $(OS:MINGW%=MINGW)
-LIBS := -ljbig2dec -lopenjpeg -lfreetype -ljpeg -lz -lm
-CFLAGS := -Wall --std=gnu99 -Ifitz -Imupdf
+LIBS := -ljbig2dec -lopenjpeg -ljpeg -lz -lm
+CFLAGS := -Wall --std=gnu99 -Ifitz -Imupdf $(THIRD_INCS)
LDFLAGS =
CC = cc
LD = $(CC)
@@ -19,8 +19,10 @@ CFLAGS += -O3
endif
ifeq "$(OS)" "Linux"
+ifeq "$(freetype_dir)" ""
CFLAGS += `pkg-config --cflags freetype2`
LDFLAGS += `pkg-config --libs freetype2`
+endif
X11LIBS = -lX11 -lXext
PDFVIEW_EXE = $(X11VIEW_EXE)
ifeq "$(build)" "release"
@@ -30,8 +32,11 @@ endif
endif
ifeq "$(OS)" "Darwin"
-CFLAGS += -I$(HOME)/include -I/usr/X11R6/include -I/usr/X11R6/include/freetype2
+CFLAGS += -I$(HOME)/include -I/usr/X11R6/include
LDFLAGS += -L$(HOME)/lib -L/usr/X11R6/lib
+ifeq "$(freetype_dir)" ""
+CFLAGS += -I/usr/X11R6/include/freetype2
+endif
X11LIBS = -lX11 -lXext
PDFVIEW_EXE = $(X11VIEW_EXE)
ifeq "$(build)" "release"
@@ -40,10 +45,9 @@ ARCH_SRC = archx86.c
endif
endif
+# MinGW build depends on thirdparty
ifeq "$(OS)" "MINGW"
CC = gcc
-CFLAGS += -Ic:/msys/1.0/local/include
-LDFLAGS += -Lc:/msys/1.0/local/lib
W32LIBS = -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 -mwindows
PDFVIEW_EXE = $(WINVIEW_EXE)
endif
diff --git a/Makethird b/Makethird
new file mode 100644
index 00000000..70e8ea1c
--- /dev/null
+++ b/Makethird
@@ -0,0 +1,195 @@
+# GNU Makefile for third party libraries used by MuPDF
+#
+# If thirdparty libraries are supplied, they will be built as
+# static libraries. Download and unzip the the mupdf-thirdparty.zip archive
+# in the source directory.
+
+jbig2dec_dir := $(wildcard thirdparty/jbig2dec*)
+openjpeg_dir := $(wildcard thirdparty/openjpeg*/libopenjpeg)
+freetype_dir := $(wildcard thirdparty/freetype*)
+jpeg_dir := $(wildcard thirdparty/jpeg*)
+zlib_dir := $(wildcard thirdparty/zlib*)
+
+ifneq "$(jbig2dec_dir)" ""
+
+THIRD_LIBS += $(JBIG2DEC_LIB)
+THIRD_INCS += -I$(jbig2dec_dir)
+LIBS := $(filter-out $(LIBS), -ljbig2dec)
+
+JBIG2DEC_SRC=$(addprefix $(jbig2dec_dir)/, \
+ jbig2.c jbig2_arith.c jbig2_arith_int.c jbig2_arith_iaid.c \
+ jbig2_huffman.c jbig2_segment.c jbig2_page.c \
+ jbig2_symbol_dict.c jbig2_text.c \
+ jbig2_generic.c jbig2_refinement.c jbig2_mmr.c \
+ jbig2_image.c jbig2_metadata.c )
+JBIG2DEC_OBJ=$(JBIG2DEC_SRC:$(jbig2dec_dir)/%.c=$(OBJDIR)/%.o)
+JBIG2DEC_LIB=$(OBJDIR)/libjbig2dec.a
+$(JBIG2DEC_LIB): $(JBIG2DEC_OBJ)
+ $(AR_CMD)
+$(OBJDIR)/%.o: $(jbig2dec_dir)/%.c
+ $(CC_CMD) -DHAVE_STDINT_H
+
+endif
+
+ifneq "$(openjpeg_dir)" ""
+
+THIRD_LIBS += $(OPENJPEG_LIB)
+THIRD_INCS += -I$(openjpeg_dir)
+LIBS := $(filter-out $(LIBS), -lopenjpeg)
+
+OPENJPEG_SRC=$(addprefix $(openjpeg_dir)/, \
+ bio.c cio.c dwt.c event.c image.c \
+ j2k.c j2k_lib.c jp2.c jpt.c mct.c \
+ mqc.c openjpeg.c pi.c raw.c t1.c \
+ t2.c tcd.c tgt.c )
+OPENJPEG_OBJ=$(OPENJPEG_SRC:$(openjpeg_dir)/%.c=$(OBJDIR)/opj_%.o)
+OPENJPEG_LIB=$(OBJDIR)/libopenjpeg.a
+$(OPENJPEG_LIB): $(OPENJPEG_OBJ)
+ $(AR_CMD)
+$(OBJDIR)/opj_%.o: $(openjpeg_dir)/%.c
+ $(CC_CMD)
+
+endif
+
+ifneq "$(jpeg_dir)" ""
+
+THIRD_LIBS += $(JPEG_LIB)
+THIRD_INCS += -I$(jpeg_dir)
+LIBS := $(filter-out $(LIBS), -ljpeg)
+
+JPEG_SRC=$(addprefix $(jpeg_dir)/, \
+ jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \
+ jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
+ jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \
+ jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \
+ jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \
+ jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \
+ jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \
+ jquant2.c jutils.c jmemmgr.c jmemansi.c )
+JPEG_OBJ=$(JPEG_SRC:$(jpeg_dir)/%.c=$(OBJDIR)/jpeg_%.o)
+JPEG_LIB=$(OBJDIR)/libjpeg.a
+$(JPEG_LIB): $(JPEG_OBJ)
+ $(AR_CMD)
+$(OBJDIR)/jpeg_%.o: $(jpeg_dir)/%.c
+ $(CC_CMD)
+
+endif
+
+ifneq "$(zlib_dir)" ""
+
+THIRD_LIBS += $(ZLIB_LIB)
+THIRD_INCS += -I$(zlib_dir)
+LIBS := $(filter-out $(LIBS), -lz)
+
+ZLIB_SRC=$(addprefix $(zlib_dir)/, \
+ adler32.c compress.c crc32.c deflate.c \
+ gzclose.c gzlib.c gzread.c gzwrite.c \
+ infback.c inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c )
+ZLIB_OBJ=$(ZLIB_SRC:$(zlib_dir)/%.c=$(OBJDIR)/zlib_%.o)
+ZLIB_LIB=$(OBJDIR)/libz.a
+$(ZLIB_LIB): $(ZLIB_OBJ)
+ $(AR_CMD)
+$(OBJDIR)/zlib_%.o: $(zlib_dir)/%.c
+ $(CC_CMD)
+
+endif
+
+ifneq "$(freetype_dir)" ""
+
+THIRD_LIBS += $(FREETYPE_LIB)
+THIRD_INCS += -I$(freetype_dir)/include
+LIBS := $(filter-out $(LIBS), -lfreetype)
+
+FREETYPE_OBJ=$(addprefix $(OBJDIR)/ft_, \
+ autofit.o ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftdebug.o ftgasp.o \
+ ftglyph.o ftgxval.o ftinit.o ftlcdfil.o ftmm.o ftotval.o ftpfr.o \
+ ftstroke.o ftsynth.o ftsystem.o fttype1.o ftwinfnt.o ftxf86.o \
+ ftpatent.o bdf.o ftcache.o cff.o type1cid.o ftgzip.o ftlzw.o \
+ pcf.o pfr.o psaux.o pshinter.o psnames.o raster.o smooth.o sfnt.o \
+ truetype.o type1.o type42.o winfnt.o )
+FREETYPE_LIB=$(OBJDIR)/libfreetype.a
+$(FREETYPE_LIB): $(FREETYPE_OBJ)
+ $(AR_CMD)
+
+FTCC_CMD = $(CC_CMD) -DFT2_BUILD_LIBRARY
+
+$(OBJDIR)/ft_autofit.o: $(freetype_dir)/src/autofit/autofit.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftbase.o: $(freetype_dir)/src/base/ftbase.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftbbox.o: $(freetype_dir)/src/base/ftbbox.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftbdf.o: $(freetype_dir)/src/base/ftbdf.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftbitmap.o: $(freetype_dir)/src/base/ftbitmap.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftdebug.o: $(freetype_dir)/src/base/ftdebug.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftgasp.o: $(freetype_dir)/src/base/ftgasp.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftglyph.o: $(freetype_dir)/src/base/ftglyph.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftgxval.o: $(freetype_dir)/src/base/ftgxval.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftinit.o: $(freetype_dir)/src/base/ftinit.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftlcdfil.o: $(freetype_dir)/src/base/ftlcdfil.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftmm.o: $(freetype_dir)/src/base/ftmm.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftotval.o: $(freetype_dir)/src/base/ftotval.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftpfr.o: $(freetype_dir)/src/base/ftpfr.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftstroke.o: $(freetype_dir)/src/base/ftstroke.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftsynth.o: $(freetype_dir)/src/base/ftsynth.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftsystem.o: $(freetype_dir)/src/base/ftsystem.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_fttype1.o: $(freetype_dir)/src/base/fttype1.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftwinfnt.o: $(freetype_dir)/src/base/ftwinfnt.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftxf86.o: $(freetype_dir)/src/base/ftxf86.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftpatent.o: $(freetype_dir)/src/base/ftpatent.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_bdf.o: $(freetype_dir)/src/bdf/bdf.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftcache.o: $(freetype_dir)/src/cache/ftcache.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_cff.o: $(freetype_dir)/src/cff/cff.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_type1cid.o: $(freetype_dir)/src/cid/type1cid.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftgzip.o: $(freetype_dir)/src/gzip/ftgzip.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_ftlzw.o: $(freetype_dir)/src/lzw/ftlzw.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_pcf.o: $(freetype_dir)/src/pcf/pcf.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_pfr.o: $(freetype_dir)/src/pfr/pfr.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_psaux.o: $(freetype_dir)/src/psaux/psaux.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_pshinter.o: $(freetype_dir)/src/pshinter/pshinter.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_psnames.o: $(freetype_dir)/src/psnames/psnames.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_raster.o: $(freetype_dir)/src/raster/raster.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_smooth.o: $(freetype_dir)/src/smooth/smooth.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_sfnt.o: $(freetype_dir)/src/sfnt/sfnt.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_truetype.o: $(freetype_dir)/src/truetype/truetype.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_type1.o: $(freetype_dir)/src/type1/type1.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_type42.o: $(freetype_dir)/src/type42/type42.c
+ $(FTCC_CMD)
+$(OBJDIR)/ft_winfnt.o: $(freetype_dir)/src/winfonts/winfnt.c
+ $(FTCC_CMD)
+
+endif