summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/windows/msys/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/libgd-src/windows/msys/Makefile')
-rw-r--r--Build/source/libs/gd/libgd-src/windows/msys/Makefile143
1 files changed, 143 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/Makefile b/Build/source/libs/gd/libgd-src/windows/msys/Makefile
new file mode 100644
index 00000000000..7e7f155885e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/windows/msys/Makefile
@@ -0,0 +1,143 @@
+
+# Simple makefile for building and testing libgd under MSYS/MinGW on
+# Windows
+
+
+# The version
+LIBVER=3.0.1
+
+# Misc. config flags.
+CDEFS=-DHAVE_ERRNO_H -DHAVE_ICONV -DHAVE_ICONV_H \
+-DHAVE_ICONV_T_DEF -DHAVE_INTTYPES_H -DHAVE_LIMITS_H -DHAVE_STDDEF_H \
+-DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_VISIBILITY -DICONV_CONST
+
+# GnuWin32 libs should all be installed in one place.
+GNUDIR=/c/tools/GnuWin32
+GNUINC=-I$(GNUDIR)/include
+GNULIB=-L$(GNUDIR)/lib
+GNUDLL=$(GNUDIR)/bin/
+
+# Various optional components. Comment-out the ones you don't have
+# and edit the paths and options as needed if you do. The default
+# assumes GnuWin32 packages installed in /c/Program Files/GnuWin32.
+JPEG_D=-DHAVE_LIBJPEG
+JPEG_L=-ljpeg
+JPEG_I=$(GNUINC)
+JPEG_LIBDIR=$(GNULIB)
+JPEG_DLLDIR=$(GNUDLL)
+
+PNG_D=-DHAVE_LIBPNG
+PNG_L=-lpng
+PNG_I= #$(GNUINC)
+PNG_LIBDIR= #$(GNULIB)
+PNG_DLLDIR= #$(GNUDLL)
+
+TIFF_D=-DHAVE_LIBTIFF
+TIFF_L=-ltiff
+TIFF_I= #$(GNUINC)
+TIFF_LIBDIR= #$(GNULIB)
+TIFF_DLLDIR= #$(GNUDLL)
+
+LIBZ_D=-DHAVE_LIBZ
+LIBZ_L=-lz
+LIBZ_I= #$(GNUINC)
+LIBZ_LIBDIR= #$(GNULIB)
+LIBZ_DLLDIR= #$(GNUDLL)
+
+# LIBXPM_D=-DHAVE_LIBXPM
+# LIBXPM_L=-lxpm
+# LIBXPM_I= #$(GNUINC)
+# LIBXPM_LIBDIR= #$(GNULIB)
+
+FREETYPE_D=-DHAVE_LIBFREETYPE -DHAVE_FT2BUILD_H
+FREETYPE_L=-lfreetype
+FREETYPE_I=$(GNUINC)/freetype2/
+FREETYPE_LIBDIR= #$(GNULIB)
+FREETYPE_DLLDIR= #$(GNUDLL)
+
+# FONTCONFIG_D=-DHAVE_LIBFONTCONFIG
+# FONTCONFIG_L=
+# FONTCONFIG_I=
+# FONTCONFIG_LIBDIR=
+
+ALL_D=$(FREETYPE_D) $(JPEG_D) $(PNG_D) $(TIFF_D) $(LIBZ_D) $(LIBXPM_D)
+ALL_L=$(FREETYPE_L) $(JPEG_L) $(PNG_L) $(TIFF_L) $(LIBZ_L) $(LIBXPM_L)
+ALL_I=$(FREETYPE_I) $(JPEG_I) $(PNG_I) $(TIFF_I) $(LIBZ_I) $(LIBXPM_I)
+ALL_LIBDIR=$(FREETYPE_LIBDIR) $(JPEG_LIBDIR) $(PNG_LIBDIR) $(TIFF_LIBDIR) \
+ $(LIBZ_LIBDIR) $(LIBXPM_LIBDIR)
+ALL_DLLDIR=$(FREETYPE_DLLDIR) $(JPEG_DLLDIR) $(PNG_DLLDIR) $(TIFF_DLLDIR) \
+ $(LIBZ_DLLDIR) $(LIBXPM_DLLDIR)
+
+# We need libiconv for internationalization. We default to static
+# linking because that reduces the number of dependencies. However,
+# libiconv is released under the GNU GPL which may impose extra
+# restrictions on redistribution.
+LIBICONV=/c/MinGW/lib/libiconv.a
+#LIBICONV=-liconv
+
+
+DEFS=$(CDEFS) $(ALL_D)
+INCLUDES=$(ALL_I)
+
+CC=gcc
+CFLAGS=-g -O2 -I. -std=gnu99 -fvisibility=hidden -static-libgcc \
+ -D_WIN32 -DBGDWIN32 $(DEFS) $(INCLUDES)
+
+LD=gcc
+LDFLAGS=-g -O2 -fvisibility=hidden -static-libgcc $(ALL_LIBDIR)
+LIBS=$(ALL_L) $(LIBICONV)
+
+ZIP=zip -j9
+DIST=libgd-win.zip
+
+# Get this list from c files in libgd_la_SOURCES in Makefile.mk
+SRC=gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c \
+gd_security.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_gif_in.c \
+gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c \
+gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c \
+gdfonts.c gdfontt.c gdft.c gdhelpers.c gdkanji.c gdtables.c gdxpm.c \
+wbmp.c gd_filter.c gd_nnquant.c gd_rotate.c gd_matrix.c \
+gd_interpolation.c gd_crop.c webpimg.c gd_webp.c gd_tiff.c gd_tga.c \
+gd_bmp.c gd_xbm.c gd_color_match.c gd_version.c gd_filename.c
+
+OBJ=$(SRC:.c=.o)
+
+TARGETBASE=libgd
+TARGET=$(TARGETBASE).dll
+TARGET_A=$(TARGETBASE).a
+
+all:
+ (cd ../../src; make -f ../windows/msys/Makefile $(TARGET))
+
+# BUG: this sucks in all the DLLs in the lib installation directory,
+# including those you may not need.
+dist: all
+ (cd ../..; $(ZIP) $(DIST) src/*.dll src/*.a $$(for d in $(ALL_DLLDIR); do echo $$d/*.dll; done | sort -u) )
+
+
+clean:
+ -rm ../../$(DIST)
+ (cd ../../src; rm -f *.dll *.a $(OBJ) deps.mk; true)
+
+check: all
+ bash run_tests.sh "$(GNUDIR)/bin" "$(INCLUDES)"
+
+deps.mk:
+ [ -f gd.h ] # Sanity check: we're in src/, right?
+ gcc -MM $(DEFS) $(INCLUDES) $(SRC) > deps.mk
+
+$(TARGET): $(OBJ)
+ gcc -shared -o $(TARGET) $(LDFLAGS) -Wl,--out-implib,$(TARGET_A) \
+ $(OBJ) $(LIBS)
+
+include deps.mk
+
+
+
+
+
+
+
+
+
+