Engine directory for ticket #1

This commit is contained in:
DavidWyand-GG 2012-09-19 11:15:01 -04:00
parent 352279af7a
commit 7dbfe6994d
3795 changed files with 1363358 additions and 0 deletions

View file

@ -0,0 +1,29 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.3 foreign no-dependencies
# include the app subdirectories in the distribution
EXTRA_DIST = makefiles doc contrib
# libmng release @VERSION@
libmng_la_LDFLAGS = -version-info 1:0:0
lib_LTLIBRARIES = libmng.la
include_HEADERS = libmng.h libmng_conf.h libmng_types.h
noinst_HEADERS = libmng_chunk_io.h libmng_chunk_prc.h libmng_chunks.h \
libmng_cms.h libmng_data.h libmng_display.h libmng_dither.h \
libmng_error.h libmng_filter.h libmng_jpeg.h libmng_memory.h \
libmng_object_prc.h libmng_objects.h libmng_pixels.h \
libmng_read.h libmng_trace.h libmng_write.h libmng_zlib.h
libmng_la_SOURCES = libmng_callback_xs.c libmng_chunk_io.c \
libmng_chunk_prc.c libmng_chunk_xs.c libmng_cms.c \
libmng_display.c libmng_dither.c libmng_error.c \
libmng_filter.c libmng_hlapi.c libmng_jpeg.c \
libmng_object_prc.c libmng_pixels.c libmng_prop_xs.c \
libmng_read.c libmng_trace.c libmng_write.c libmng_zlib.c
man_MANS = doc/man/libmng.3 doc/man/jng.5 doc/man/mng.5

View file

@ -0,0 +1,27 @@
For conditions of distribution and use, see copyright notice in libmng.h
or the file LICENSE in the top-level directory of the source distribution.
This directory hosts the makefiles for a number of supported platforms.
If you're using a system with POSIX shell capabilities, you can use the
'configure' script in the top-level directory, or generate it by running
'autogen.sh' if you have the necessary tools installed.
Otherwise, copy the module for your environment (or the closest thing)
into the libmng source-directory and change it to your needs. If you
create a new file for a platform not on the list send it to me (gerard @
libmng.com) and I'll be happy to include it in the next release!
Current files:
makefile.bcb3 - Borland C++ Builder
makefile.vcwin32 - Microsoft Visual C++
makefile.unix - generic Unix
makefile.linux - Linux ELF (builds shared library)
makefile.dj - DJGPP
makefile.mingw - builds a static library for mingw32
makefile.mingwdll - builds a dynamic library for mingw32
makefile.irix - builds a static library for SGI/IRIX (6.5.21)
Makefile.am, configure.in and acinclude.m4 (if present) - automake/autoconf source

View file

@ -0,0 +1,193 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT
AC_CONFIG_SRCDIR([libmng.h])
AC_PREREQ(2.52)
dnl this call will define PACKAGE and VERSION
dnl please use this as the primary reference for the version number
AM_INIT_AUTOMAKE(libmng, 1.0.9)
dnl pass the version string on the the makefiles
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
dnl Checks for programs.
AC_PROG_CC
AC_ISC_POSIX
AM_C_PROTOTYPES
if test "x$U" != "x"; then
AC_MSG_ERROR(Compiler not ANSI compliant)
fi
AM_PROG_LIBTOOL
AC_PROG_INSTALL
dnl support for files >2GB
AC_SYS_LARGEFILE
dnl Check for required header files
AC_HEADER_STDC
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
dnl need pow and fabs
AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow, LIBS="$LIBS -lm"))
dnl what functionality we want to add (read, write, display).
dnl all on by default. see libmng_conf.h for full descriptions
dnl not building a standard shared object?
AC_ARG_ENABLE(buildso,
[ --disable-buildso disable building standard shared object])
if test "x$enable_buildso" != "xno"; then
AC_DEFINE(MNG_BUILD_SO)
fi
dnl we only support the full mng spec for now (no LC or VLC)
AC_DEFINE(MNG_SUPPORT_FULL)
dnl remove support in library to read images?
AC_ARG_ENABLE(read,
[ --disable-read remove read support from library])
if test "x$enable_read" != "xno"; then
AC_DEFINE(MNG_SUPPORT_READ)
fi
dnl remove support in library to write images?
AC_ARG_ENABLE(write,
[ --disable-write remove write support from library])
if test "x$enable_write" != "xno"; then
AC_DEFINE(MNG_SUPPORT_WRITE)
fi
dnl remove support in library to display images?
AC_ARG_ENABLE(display,
[ --disable-display remove display support from library])
if test "x$enable_display" != "xno"; then
AC_DEFINE(MNG_SUPPORT_DISPLAY)
fi
dnl remove support for 'dynamic' MNG?
AC_ARG_ENABLE(dynamic,
[ --disable-dynamic remove dynamic MNG support from library])
if test "x$enable_dynamic" != "xno"; then
AC_DEFINE(MNG_SUPPORT_DYNAMICMNG)
fi
dnl remove support in library to access chunks?
AC_ARG_ENABLE(chunks,
[ --disable-chunks remove support for chunk access])
if test "x$enable_chunks" != "xno"; then
AC_DEFINE(MNG_ACCESS_CHUNKS)
fi
dnl disable support for accessing chunks that have been previously read?
AC_ARG_ENABLE(storechunks,
[ --disable-storechunks remove support for access of previous chunks])
if test "x$enable_storechunks" != "xno"; then
AC_DEFINE(MNG_STORE_CHUNKS)
fi
dnl enable support for debug tracing callbacks and messages?
AC_ARG_ENABLE(trace,
[ --enable-trace include support for debug tracing callbacks],[
if test "x$enable_trace" = "xyes"; then
AC_DEFINE(MNG_SUPPORT_TRACE)
AC_DEFINE(MNG_TRACE_TELLTALE)
fi
])
dnl verbose error text
dnl this should always be on
AC_DEFINE(MNG_ERROR_TELLTALE)
dnl libz is required.
AC_ARG_WITH(zlib,
[ --with-zlib[=DIR] use zlib include/library files in DIR],[
if test -d "$withval"; then
CPPFLAGS="$CPPFLAGS -I$withval/include"
LDFLAGS="$LDFLAGS -L$withval/lib"
fi
])
AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, gzread, , AC_MSG_ERROR(zlib library not found)),
AC_MSG_ERROR(zlib header not found)
)
dnl check for jpeg library
AC_ARG_WITH(jpeg,
[ --with-jpeg[=DIR] use jpeg include/library files in DIR],
[with_jpeg=$withval],[with_jpeg=_auto])
if test "x$with_jpeg" != "xno" -a "x$with_jpeg" != "xyes" -a \
"x$with_jpeg" != "x_auto"; then
# Save in case test with directory specified fails
_cppflags=${CPPFLAGS}
_ldflags=${LDFLAGS}
_restore=1
CPPFLAGS="${CPPFLAGS} -I$withval/include"
LDFLAGS="${LDFLAGS} -L$withval/lib"
else
_restore=0
fi
if test "x$with_jpeg" != "xno"; then
AC_CHECK_HEADER(jpeglib.h,
AC_CHECK_LIB(jpeg, jpeg_read_header, [
LIBS="$LIBS -ljpeg"
AC_DEFINE(HAVE_LIBJPEG)
_restore=0
],
AC_MSG_WARN(jpeg library not found)),
AC_MSG_WARN(jpeg header not found)
)
fi
test $_restore -eq 1 && CPPFLAGS=$_cppflags LDFLAGS=$_ldflags
dnl check for lcms library
AC_ARG_WITH(lcms,
[ --with-lcms[=DIR] use lcms include/library files in DIR],
[with_lcms=$withval],[with_lcms=_auto])
if test "x$with_lcms" != "xno" -a "x$with_lcms" != "xyes" -a \
"x$with_lcms" != "x_auto"; then
# Save in case test with directory specified fails
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
_restore=1
CPPFLAGS="$CPPFLAGS -I$withval/include"
LDFLAGS="$LDFLAGS -L$withval/lib"
else
_restore=0
fi
if test "x$with_lcms" != "xno"; then
AC_CHECK_HEADER(lcms.h, [
have_lcms=yes
AC_CHECK_LIB(lcms, cmsCreateRGBProfile, [
LIBS="$LIBS -llcms"
AC_DEFINE(HAVE_LIBLCMS)
dnl for now this implies MNG_INCLUDE_LCMS in the headers:
AC_DEFINE(MNG_FULL_CMS)
_restore=0
have_lcms=yes
],[
have_lcms=no
])
])
dnl give feedback only if the user asked specifically for lcms
if test "x$with_lcms" != "x_auto" -a "x$have_lcms" != "xyes"; then
AC_MSG_WARN([lcms not found... disabling CMS support])
fi
fi
test $_restore -eq 1 && CPPFLAGS=$_cppflags LDFLAGS=$_ldflags
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View file

@ -0,0 +1,108 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is suitable for Borland C++ Builder.
# it works (at least) with Borland C++ Builder v3
# Configuration options are now in mng_conf.h
# this option forces dll compatibility
MNGOPT = -DMNG_BUILD_DLL
# The name of your C compiler:
CC= bcc32
# compiler options:
CFLAGS= -WD -O2 -Hc -w-par -k -y -v -vi -c -tWD \
-wuse -wucp -wstv -wstu -wsig -wpin -wnod -wnak -wdef -wcln -wbbf -wasm -wamp \
-wamb -Tkh30000 -ff -5 -I.;..\zlib;..\jpgsrc6b;..\lcms\include $(MNGOPT)
# source files
SOURCES= libmng_hlapi.c libmng_callback_xs.c libmng_prop_xs.c libmng_chunk_xs.c \
libmng_chunk_descr.c libmng_read.c libmng_write.c libmng_display.c \
libmng_object_prc.c libmng_chunk_prc.c libmng_chunk_io.c libmng_error.c \
libmng_trace.c libmng_pixels.c libmng_filter.c libmng_dither.c \
libmng_zlib.c libmng_jpeg.c libmng_cms.c
# object files
OBJECTS= libmng_hlapi.obj libmng_callback_xs.obj libmng_prop_xs.obj libmng_chunk_xs.obj \
libmng_chunk_descr.obj libmng_read.obj libmng_write.obj libmng_display.obj \
libmng_object_prc.obj libmng_chunk_prc.obj libmng_chunk_io.obj libmng_error.obj \
libmng_trace.obj libmng_pixels.obj libmng_filter.obj libmng_dither.obj \
libmng_zlib.obj libmng_jpeg.obj libmng_cms.obj
# type dependancies
.c.obj:
$(CC) $(CFLAGS) -c{ $<}
# make options
all: libmng.lib
clean:
- del *.obj
- del libmng.lib
# file dependancies
libmng.lib: $(OBJECTS)
- del libmng.lib
tlib libmng.lib /E /C @&&|
+libmng_hlapi.obj +libmng_callback_xs.obj +libmng_prop_xs.obj +libmng_chunk_xs.obj &
+libmng_read.obj +libmng_write.obj +libmng_display.obj &
+libmng_object_prc.obj +libmng_chunk_prc.obj +libmng_chunk_io.obj +libmng_error.obj &
+libmng_trace.obj +libmng_pixels.obj +libmng_filter.obj +libmng_dither.obj &
+libmng_zlib.obj +libmng_jpeg.obj +libmng_cms.obj
|
libmng_hlapi.obj: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.obj: libmng_callback_xs.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.obj: libmng_prop_xs.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.obj: libmng_chunk_xs.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_error.h libmng_trace.h
libmng_read.obj: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.obj: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.obj: libmng_display.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h \
libmng_pixels.h libmng_display.h
libmng_object_prc.obj: libmng_object_prc.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.obj: libmng_chunk_descr.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_prc.obj: libmng_chunk_prc.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.obj: libmng_chunk_io.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h libmng_chunks.h \
libmng_chunk_io.h libmng_chunk_prc libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.obj: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.obj: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.obj: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.obj: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.obj: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.obj: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.obj: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_pixels.h libmng_jpeg.h
libmng_cms.obj: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,155 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# This makefile have been tested on DJGPP v2
# (Based on makefile.linux since both are GNU compilers)
#
# By Silvio Fonseca - gissi@sti.com.br
#compiler
CC=gcc
#default build options
OPTIONS=
#DJGPP directory
prefix=C:/DJGPP
installprefix=C:\DJGPP
#ZLIB Library and includes
ZLIBLIB=$(prefix)/lib
#ZLIBLIB=../zlib
ZLIBINC=$(prefix)/include
#ZLIBINC=../zlib
#Jpeg library and includes
JPEGLIB=$(prefix)/lib
#JPEGLIB=../jpgsrc
JPEGINC=$(prefix)/include
#JPEGINC=../jpgsrc
#Lcms library and includes
LCMSLIB=$(prefix)/lib
#LCMSLIB=../lcms
LCMSINC=$(prefix)/include
#LCMSINC=../lcms
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS=-I$(ZLIBINC) -I$(JPEGINC) -I$(LCMSINC) -Wall -O3 -funroll-loops \
$(OPTIONS) $(ALIGN) # $(WARNMORE) -g
LDFLAGS=-L. -Wl,-rpath,. \
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
-L$(JPEGLIB) -Wl,-rpath,$(JPEGLIB) \
-L$(LCMSLIB) -Wl,-rpath,$(LCMSLIB) \
-lmng -lz -ljpeg -llcms -lm
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib
OBJS = \
libmng_callback_xs.o \
libmng_chunk_io.o \
libmng_chunk_descr.o \
libmng_chunk_prc.o \
libmng_chunk_xs.o \
libmng_cms.o \
libmng_display.o \
libmng_dither.o \
libmng_error.o \
libmng_filter.o \
libmng_hlapi.o \
libmng_jpeg.o \
libmng_object_prc.o \
libmng_pixels.o \
libmng_prop_xs.o \
libmng_read.o \
libmng_trace.o \
libmng_write.o \
libmng_zlib.o
OBJSDLL = $(OBJS:.0=.pic.o)
.SUFFIXES: .c .o .pic.o
.c.pic.o:
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
all: libmng.a
libmng.a: $(OBJS)
ar rc $@ $(OBJS)
ranlib $@
install: libmng.a
-@md $(installprefix)\include $(installprefix)\lib
copy libmng.h $(installprefix)\include
copy libmng_conf.h $(installprefix)\include
copy libmng_types.h $(installprefix)\include
copy libmng.a $(installprefix)\lib
clean:
del *.o
del libmng.a
# DO NOT DELETE THIS LINE -- make depend depends on it.
libmng_hlapi.o libmng_hlapi.pic.o: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.o libmng_callback_xs.pic.o: libmng_callback_xs.c libmng.h \
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.o libmng_prop_xs.pic.o: libmng_prop_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.o libmng_chunk_xs.pic.o: libmng_chunk_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
libmng_error.h libmng_trace.h
libmng_read.o libmng_read.pic.o: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.o libmng_write.pic.o: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.o libmng_display.pic.o: libmng_display.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
libmng_display.h
libmng_object_prc.o libmng_object_prc.pic.o: libmng_object_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.o libmng_chunk_descr.pic.o: libmng_chunk_descr.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h \
libmng_chunk_prc.h libmng_memory.h libmng_error.h libmng_trace.h
libmng_chunk_prc.o libmng_chunk_prc.pic.o: libmng_chunk_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.o libmng_chunk_io.pic.o: libmng_chunk_io.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.o libmng_error.pic.o: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.o libmng_trace.pic.o: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.o libmng_pixels.pic.o: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.o libmng_filter.pic.o: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.o libmng_dither.pic.o: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.o libmng_zlib.pic.o: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.o libmng_jpeg.pic.o: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
libmng_cms.o libmng_cms.pic.o: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,180 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is suitable for Linux ELF with gcc
#
# (this file is heavily copied from makefile.linux in the libpng package)
# compiler
CC=gcc
# default build options (this forces shared library compatibility!!)
#OPTIONS = -DMNG_BUILD_SO
OPTIONS = -DMNG_BUILD_SO -DMNG_FULL_CMS
# where "make install" puts libmng.a,libmng.so*,libmng.h,libmng_conf.h,libmng_types.h
prefix=/usr/local
# Where the zlib library and include files are located
#ZLIBLIB=../zlib
#ZLIBINC=../zlib
ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
# Where the jpeg library and include files are located
#JPEGLIB=../jpgsrc
#JPEGINC=../jpgsrc
JPEGLIB=/usr/local/lib
JPEGINC=/usr/local/include
# Where the lcms library and include files are located
#LCMSLIB=../lcms/lib
#LCMSINC=../lcms/source
LCMSLIB=/usr/local/lib
LCMSINC=/usr/local/include
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
CFLAGS=-I$(ZLIBINC) -I$(JPEGINC) -I$(LCMSINC) -Wall -O3 -funroll-loops \
$(OPTIONS) $(ALIGN) # $(WARNMORE) -g
LDFLAGS=-L. -Wl,-rpath,. \
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
-L$(JPEGLIB) -Wl,-rpath,$(JPEGLIB) \
-L$(LCMSLIB) -Wl,-rpath,$(LCMSLIB) \
-lmng -lz -ljpeg -llcms -lm
RANLIB=ranlib
#RANLIB=echo
# current version numbers
MNGMAJ = 1
MNGMIN = 1.0.9
MNGVER = $(MNGMAJ).$(MNGMIN)
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib
OBJS = \
libmng_callback_xs.o \
libmng_chunk_io.o \
libmng_chunk_descr.o \
libmng_chunk_prc.o \
libmng_chunk_xs.o \
libmng_cms.o \
libmng_display.o \
libmng_dither.o \
libmng_error.o \
libmng_filter.o \
libmng_hlapi.o \
libmng_jpeg.o \
libmng_object_prc.o \
libmng_pixels.o \
libmng_prop_xs.o \
libmng_read.o \
libmng_trace.o \
libmng_write.o \
libmng_zlib.o
OBJSDLL = $(OBJS:.0=.pic.o)
.SUFFIXES: .c .o .pic.o
.c.pic.o:
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
all: libmng.a libmng.so
libmng.a: $(OBJS)
ar rc $@ $(OBJS)
$(RANLIB) $@
libmng.so: libmng.so.$(MNGMAJ)
ln -sf libmng.so.$(MNGMAJ) libmng.so
libmng.so.$(MNGMAJ): libmng.so.$(MNGVER)
ln -sf libmng.so.$(MNGVER) libmng.so.$(MNGMAJ)
libmng.so.$(MNGVER): $(OBJSDLL)
# $(CC) -shared -Wl,-soname,libmng.so.$(MNGMAJ) -o libmng.so.$(MNGVER) \
# $(OBJSDLL) -L$(ZLIBLIB) -L$(JPEGLIB) -L$(LCMSLIB) -lz -lm -lc
$(CC) -shared -Wl,-soname,libmng.so.$(MNGMAJ) -o libmng.so.$(MNGVER) \
$(OBJSDLL) -L$(ZLIBLIB) -L$(JPEGLIB) -ljpeg -L$(LCMSLIB) -llcms \
-lz -lm -lc
install: libmng.a libmng.so.$(MNGVER)
-@mkdir $(INCPATH) $(LIBPATH)
cp libmng.h libmng_conf.h libmng_types.h $(INCPATH)
chmod 644 $(INCPATH)/libmng.h $(INCPATH)/libmng_conf.h $(INCPATH)/libmng_types.h
cp libmng.a libmng.so.$(MNGVER) $(LIBPATH)
chmod 755 $(LIBPATH)/libmng.so.$(MNGVER)
-@/bin/rm -f $(LIBPATH)/libmng.so.$(MNGMAJ) $(LIBPATH)/libmng.so
(cd $(LIBPATH); ln -sf libmng.so.$(MNGVER) libmng.so.$(MNGMAJ); \
ln -sf libmng.so.$(MNGMAJ) libmng.so)
clean:
/bin/rm -f *.o libmng.a libmng.so*
# DO NOT DELETE THIS LINE -- make depend depends on it.
libmng_hlapi.o libmng_hlapi.pic.o: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.o libmng_callback_xs.pic.o: libmng_callback_xs.c libmng.h \
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.o libmng_prop_xs.pic.o: libmng_prop_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.o libmng_chunk_xs.pic.o: libmng_chunk_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
libmng_error.h libmng_trace.h
libmng_read.o libmng_read.pic.o: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.o libmng_write.pic.o: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.o libmng_display.pic.o: libmng_display.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
libmng_display.h
libmng_object_prc.o libmng_object_prc.pic.o: libmng_object_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.o libmng_chunk_descr.pic.o: libmng_chunk_descr.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h libmng_memory.h \
libmng_chunk_prc.h libmng_error.h libmng_trace.h
libmng_chunk_prc.o libmng_chunk_prc.pic.o: libmng_chunk_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.o libmng_chunk_io.pic.o: libmng_chunk_io.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.o libmng_error.pic.o: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.o libmng_trace.pic.o: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.o libmng_pixels.pic.o: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.o libmng_filter.pic.o: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.o libmng_dither.pic.o: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.o libmng_zlib.pic.o: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.o libmng_jpeg.pic.o: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
libmng_cms.o libmng_cms.pic.o: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,164 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is for MinGW32, it have been tested with gcc 2.95.3,
# binutils 2.11.90 and mingw-runtime 1.0
#
# By Benoit Blanchon - benoit.blanchon@laposte.net
#
# Note : this makefile builds a static library; although it's seems to be
# possible to build working DLL and import lib, I didn't manage do to it.
# If you do, please let me know.
# outputs
LIBMNG_A = libmng.a
INSTALL_PREFIX = C:/MinGW/
# maybe you sould replace with anti-slashes
# default build options
OPTIONS = -DMNG_NO_CMS -DMNG_ACCESS_CHUNKS -DMNG_STORE_CHUNKS
# Where the zlib library and include files are located
ZLIBLIB=-lz
#ZLIBLIB=-L../zlib -lz
#ZLIBINC=-I../zlib
# Where the jpeg library and include files are located
JPEGLIB=-ljpeg
#JPEGLIB=-L../jpgsrc -ljpeg
#JPEGINC=-I../jpgsrc
# Where the lcms library and include files are located
#LCMSLIB=-llcms
#LCMSLIB=-L../lcms/lib -llcms
#LCMSINC=-I../lcms/source
# file deletion command
RM=rm -f
#RM=del
# directory creation command
MKDIR=mkdir -p
# file copy command
COPY=cp
#COPY=copy
# compiler
CC=gcc
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
CFLAGS=$(ZLIBINC) $(JPEGINC) $(LCMSINC) -Wall -O3 -funroll-loops $(OPTIONS) $(ALIGN)
LDFLAGS=-L. -lmng $(ZLIBLIB) $(JPEGLIB) $(LCMSLIB) -lm
# library (.a) file creation command
AR= ar rc
# second step in .a creation (use "touch" if not needed)
AR2= ranlib
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib
OBJS = \
libmng_callback_xs.o \
libmng_chunk_io.o \
libmng_chunk_descr.o \
libmng_chunk_prc.o \
libmng_chunk_xs.o \
libmng_cms.o \
libmng_display.o \
libmng_dither.o \
libmng_error.o \
libmng_filter.o \
libmng_hlapi.o \
libmng_jpeg.o \
libmng_object_prc.o \
libmng_pixels.o \
libmng_prop_xs.o \
libmng_read.o \
libmng_trace.o \
libmng_write.o \
libmng_zlib.o
.SUFFIXES: .c .o
.c.o:
$(CC) -c $(CFLAGS) -o $@ $*.c
all: $(LIBMNG_A)
$(LIBMNG_A) : $(OBJS)
$(RM) $@
$(AR) $@ $(OBJS)
$(AR2) $@
install : $(LIBMNG_A)
$(MKDIR) $(INSTALL_PREFIX)include
$(COPY) libmng.h $(INSTALL_PREFIX)include
$(COPY) libmng_conf.h $(INSTALL_PREFIX)include
$(COPY) libmng_types.h $(INSTALL_PREFIX)include
$(MKDIR) $(INSTALL_PREFIX)lib
$(COPY) $(LIBMNG_A) $(INSTALL_PREFIX)lib
clean:
$(RM) *.o
# DO NOT DELETE THIS LINE -- make depend depends on it.
libmng_hlapi.o : libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.o : libmng_callback_xs.c libmng.h \
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.o : libmng_prop_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.o : libmng_chunk_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
libmng_error.h libmng_trace.h
libmng_read.o : libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.o : libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.o : libmng_display.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
libmng_display.h
libmng_object_prc.o : libmng_object_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.o : libmng_chunk_descr.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h \
libmng_chunk_prc.h libmng_memory.h libmng_error.h libmng_trace.h
libmng_chunk_prc.o : libmng_chunk_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.o : libmng_chunk_io.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.o : libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.o : libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.o : libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.o : libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.o : libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.o : libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.o : libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
libmng_cms.o : libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,158 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is for MinGW32, it has been tested with gcc 3.1,
# binutils 2.12.90 and mingw-runtime 2.0
#
# By Benoit Blanchon - benoit.blanchon@laposte.net
# DLL mods by F. Richter <frichter@gmx.li>
#
# outputs
LIBMNG_A = libmng.a
LIBMNG_DLL = libmng.1.dll
INSTALL_PREFIX = C:/MinGW/
# maybe you sould replace with anti-slashes
# default build options
OPTIONS = -DMNG_BUILD_DLL -DMNG_ACCESS_CHUNKS -DMNG_STORE_CHUNKS
# Where the zlib library and include files are located
ZLIBLIB=-lz
#ZLIBLIB=-L../zlib -lz
#ZLIBINC=-I../zlib
# Where the jpeg library and include files are located
JPEGLIB=-ljpeg
#JPEGLIB=-L../jpgsrc -ljpeg
#JPEGINC=-I../jpgsrc
# Where the lcms library and include files are located
#LCMSLIB=-llcms
LCMSLIB=-L../lcms/lib -llcms
LCMSINC=-I../lcms/source
# file deletion command
RM=rm -f
#RM=del
# directory creation command
MKDIR=mkdir -p
# file copy command
COPY=cp
#COPY=copy
# compiler
CC=gcc
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
CFLAGS=$(ZLIBINC) $(JPEGINC) $(LCMSINC) -Wall -O3 -funroll-loops $(OPTIONS) $(ALIGN) -s
LDFLAGS=-L. -lmng $(ZLIBLIB) $(JPEGLIB) $(LCMSLIB) -lm -s
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib
OBJS = \
libmng_callback_xs.o \
libmng_chunk_io.o \
libmng_chunk_descr.o \
libmng_chunk_prc.o \
libmng_chunk_xs.o \
libmng_cms.o \
libmng_display.o \
libmng_dither.o \
libmng_error.o \
libmng_filter.o \
libmng_hlapi.o \
libmng_jpeg.o \
libmng_object_prc.o \
libmng_pixels.o \
libmng_prop_xs.o \
libmng_read.o \
libmng_trace.o \
libmng_write.o \
libmng_zlib.o
.SUFFIXES: .c .o
.c.o:
$(CC) -c $(CFLAGS) -o $@ $*.c
all: $(LIBMNG_A)
$(LIBMNG_A): $(LIBMNG_DLL)
$(LIBMNG_DLL) : $(OBJS)
dllwrap --implib=$(LIBMNG_A) --dllname=$(LIBMNG_DLL) $(OBJS) $(LDFLAGS)
install : $(LIBMNG_A)
$(MKDIR) $(INSTALL_PREFIX)include
$(COPY) libmng.h $(INSTALL_PREFIX)include
$(COPY) libmng_conf.h $(INSTALL_PREFIX)include
$(COPY) libmng_types.h $(INSTALL_PREFIX)include
$(MKDIR) $(INSTALL_PREFIX)lib
$(COPY) $(LIBMNG_A) $(INSTALL_PREFIX)lib
clean:
$(RM) *.o
# DO NOT DELETE THIS LINE -- make depend depends on it.
libmng_hlapi.o : libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.o : libmng_callback_xs.c libmng.h \
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.o : libmng_prop_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.o : libmng_chunk_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
libmng_error.h libmng_trace.h
libmng_read.o : libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.o : libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.o : libmng_display.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
libmng_display.h
libmng_object_prc.o : libmng_object_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.o : libmng_chunk_descr.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h \
libmng_chunk_prc.h libmng_memory.h libmng_error.h libmng_trace.h
libmng_chunk_prc.o : libmng_chunk_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.o : libmng_chunk_io.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.o : libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.o : libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.o : libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.o : libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.o : libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.o : libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.o : libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
libmng_cms.o : libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,160 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is suitable for QNX Neutrino
# Configuration options are now in libmng_conf.h
# The architecture of your target
# one of arm, mips, ppc, sh, x86
ARCH = mips
# The name of the library
LIBNAME = libmng
ARNAME = $(LIBNAME).a
SONAME = $(LIBNAME).so
# current version numbers
MNGMAJ = 1
MNGMIN = 0.9
MNGVER = $(MNGMAJ).$(MNGMIN)
# The artefact output folder
OBJDIR = bin
# Location of jpeg header files
JPEG_INC = $(QNX_TARGET)/usr/include/jpeg
# Location of zlib header files
ZLIB_INC = $(QNX_TARGET)/usr/include
# Location of lcms header files
# (switch on MNG_FULL_CMS in libmng_conf.h if you want to use this)
LCMS_INC = $(QNX_TARGET)/usr/include/lcms
# default build defines
DEF =
DEF_SO = -DMNG_BUILD_SO
# compiler options:
CFLAGS = -O2 -funroll-loops
# include paths
INC = -I$(ZLIB_INC) -I$(JPEG_INC)
# The name of your C compiler:
CC = nto$(ARCH)-gcc
# source files
SRC= \
libmng_callback_xs.c \
libmng_chunk_io.c \
libmng_chunk_descr.c \
libmng_chunk_prc.c \
libmng_chunk_xs.c \
libmng_cms.c \
libmng_display.c \
libmng_dither.c \
libmng_error.c \
libmng_filter.c \
libmng_hlapi.c \
libmng_jpeg.c \
libmng_object_prc.c \
libmng_pixels.c \
libmng_prop_xs.c \
libmng_read.c \
libmng_trace.c \
libmng_write.c \
libmng_zlib.c
# object files
OBJ=$(addprefix $(OBJDIR)/$(ARCH)/, $(SRC:%.c=%.o))
# object files for shared object
OBJ_SO=$(addprefix $(OBJDIR)/$(ARCH)/, $(SRC:%.c=%.pic.o))
# type dependancies
$(OBJDIR)/$(ARCH)/%.o: %.c
$(CC) $(CFLAGS) $(INC) $(DEF) -o $@ -c $<
$(OBJDIR)/$(ARCH)/%.pic.o: %.c
$(CC) $(CFLAGS) $(INC) $(DEF_SO) -fPIC -o $@ -c $<
all: init $(ARNAME) $(SONAME)
init:
if [ ! -d $(OBJDIR)/$(ARCH) ]; then mkdir -p $(OBJDIR)/$(ARCH); fi
$(ARNAME): $(OBJ)
ar r $(OBJDIR)/$(ARCH)/$(ARNAME) $(OBJ)
$(SONAME): $(SONAME).$(MNGMAJ)
ln -sf $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGMAJ) $(OBJDIR)/$(ARCH)/$(SONAME)
$(SONAME).$(MNGMAJ): $(SONAME).$(MNGVER)
ln -sf $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGVER) $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGMAJ)
$(SONAME).$(MNGVER): $(OBJ_SO)
$(CC) -shared -Wl,-soname,$(SONAME).$(MNGMAJ) -o $(OBJDIR)/$(ARCH)/$(SONAME).$(MNGVER) $(OBJ_SO) \
-lz -lm -ljpeg
# -lz -lm -ljpeg -llcms
clean:
rm -f $(OBJ) $(OBJ_SO)
rm -f $(OBJDIR)/$(ARCH)/$(ARNAME) $(OBJDIR)/$(ARCH)/$(SONAME)*
# DO NOT DELETE THIS LINE -- make depend depends on it.
libmng_hlapi.o libmng_hlapi.pic.o: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
libmng_callback_xs.o libmng_callback_xs.pic.o: libmng_callback_xs.c libmng.h \
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
libmng_prop_xs.o libmng_prop_xs.pic.o: libmng_prop_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
libmng_chunk_xs.o libmng_chunk_xs.pic.o: libmng_chunk_xs.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
libmng_error.h libmng_trace.h
libmng_read.o libmng_read.pic.o: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
libmng_write.o libmng_write.pic.o: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
libmng_display.o libmng_display.pic.o: libmng_display.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
libmng_display.h
libmng_object_prc.o libmng_object_prc.pic.o: libmng_object_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
libmng_chunk_descr.o libmng_chunk_descr.pic.o: libmng_chunk_descr.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h libmng_memory.h \
libmng_chunk_prc.h libmng_error.h libmng_trace.h
libmng_chunk_prc.o libmng_chunk_prc.pic.o: libmng_chunk_prc.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
libmng_error.h libmng_trace.h
libmng_chunk_io.o libmng_chunk_io.pic.o: libmng_chunk_io.c libmng.h libmng_conf.h \
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
libmng_error.o libmng_error.pic.o: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_trace.o libmng_trace.pic.o: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h
libmng_pixels.o libmng_pixels.pic.o: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
libmng_cms.h libmng_filter.h libmng_pixels.h
libmng_filter.o libmng_filter.pic.o: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
libmng_dither.o libmng_dither.pic.o: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
libmng_zlib.o libmng_zlib.pic.o: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
libmng_filter.h libmng_zlib.h
libmng_jpeg.o libmng_jpeg.pic.o: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
libmng_cms.o libmng_cms.pic.o: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h

View file

@ -0,0 +1,67 @@
#
# For conditions of distribution and use, see copyright notice in libmng.h
#
# makefile for libmng - THE MNG library
# this makefile is suitable for generic unix
# Configuration options are now in libmng_conf.h
# The name of your C compiler:
CC= cc
# Location of jpeg header files
JPEG_INC= /cs/include/jpeg
# Location of zlib header files
ZLIB_INC= /cs/include
# Location of lcms header files
# (switch on MNG_FULL_CMS in libmng_conf.h if you want to use this)
LCMS_INC= /ltmp/lcms-1.06/source
# compiler options:
CFLAGS= -O -I. -I$(ZLIB_INC) -I$(JPEG_INC) -I$(LCMS_INC)
# source files
SOURCES= \
libmng_callback_xs.c \
libmng_chunk_io.c \
libmng_chunk_descr.c \
libmng_chunk_prc.c \
libmng_chunk_xs.c \
libmng_cms.c \
libmng_display.c \
libmng_dither.c \
libmng_error.c \
libmng_filter.c \
libmng_hlapi.c \
libmng_jpeg.c \
libmng_object_prc.c \
libmng_pixels.c \
libmng_prop_xs.c \
libmng_read.c \
libmng_trace.c \
libmng_write.c \
libmng_zlib.c
# object files
OBJECTS= $(SOURCES:%.c=%.o)
# type dependancies
.c.o:
$(CC) $(CFLAGS) -c $<
all: libmng.a
clean:
/bin/rm -f $(OBJECTS)
/bin/rm -f libmng.a
/bin/rm -f *~ core
libmng.a: $(OBJECTS)
ar r libmng.a $(OBJECTS)
depend:
makedepend -- $(CFLAGS) $(IFLAGS) -- *.c
# DO NOT DELETE

View file

@ -0,0 +1,99 @@
# makefile for libmng
# Copyright (C) 2000 AM(s98t269@stmail.eng.kagawa-u.ac.jp)
# For conditions of distribution and use, see copyright notice in libmng.h
# Assumes that zlib.lib, zconf.h, and zlib.h have been copied to ..\zlib
# Assumes that libjpeg.lib, *.h have been copied to ..\jpgsrc6b
# Assumes that lcmsdll.lib and lcmsstat.lib have been copied to ..\lcms\lib\msvc
# To use, do "nmake /f makefiles\makefile.vcwin32"
# -------- Microsoft Visual C++ 4.0 and later, no assembler code --------
CFLAGS= -Ox -GA3s -nologo -W3 -I..\zlib -I..\jpgsrc6b -I..\lcms\include
CC=cl
LD=link
LDFLAGS=
O=.obj
#uncomment next to put error messages in a file
#ERRFILE= >> mngerrs
# variables
OBJS1 = libmng_callback_xs$(O) libmng_chunk_io$(O) libmng_chunk_prc$(O) libmng_chunk_descr$(0)
OBJS2 = libmng_chunk_xs$(O) libmng_cms$(O) libmng_display$(O) libmng_dither$(O)
OBJS3 = libmng_error$(O) libmng_filter$(O) libmng_hlapi$(O) libmng_jpeg$(O)
OBJS4 = libmng_object_prc$(O) libmng_pixels$(O) libmng_prop_xs$(O)
OBJS5 = libmng_read$(O) libmng_trace$(O) libmng_write$(O) libmng_zlib$(O)
all: libmng.lib
libmng_callback_xs$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_chunk_io$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_chunk_descr$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_chunk_prc$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_chunk_xs$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_cms$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_display$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_dither$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_error$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_filter$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_hlapi$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_jpeg$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_object_prc$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_pixels$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_prop_xs$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_read$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_trace$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_write$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng_zlib$(O): libmng.h libmng_data.h libmng_error.h libmng_trace.h
$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
libmng.lib: $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5)
echo something to del > libmng.lib
del libmng.lib
lib /OUT:libmng.lib $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5)
mngtest.exe: mngtest.obj libmng.lib
$(LD) $(LDFLAGS) mngtest.obj libmng.lib ..\zlib\zlib.lib /OUT:mngtest.exe /SUBSYSTEM:CONSOLE
test: mngtest.exe
mngtest
# End of makefile for libmng