# Linux makefile for OpenJPEG VER_MAJOR = 2 VER_MINOR = 1.5.0-dotnet-1 SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/image.c ./libopenjpeg/j2k.c ./libopenjpeg/j2k_lib.c ./libopenjpeg/jp2.c ./libopenjpeg/jpt.c ./libopenjpeg/mct.c ./libopenjpeg/mqc.c ./libopenjpeg/openjpeg.c ./libopenjpeg/pi.c ./libopenjpeg/raw.c ./libopenjpeg/t1.c ./libopenjpeg/t2.c ./libopenjpeg/tcd.c ./libopenjpeg/tgt.c CPPSRCS = ./dotnet/dotnet.cpp INCLS = ./libopenjpeg/bio.h ./libopenjpeg/cio.h ./libopenjpeg/dwt.h ./libopenjpeg/event.h ./libopenjpeg/fix.h ./libopenjpeg/image.h ./libopenjpeg/int.h ./libopenjpeg/j2k.h ./libopenjpeg/j2k_lib.h ./libopenjpeg/jp2.h ./libopenjpeg/jpt.h ./libopenjpeg/mct.h ./libopenjpeg/mqc.h ./libopenjpeg/openjpeg.h ./libopenjpeg/pi.h ./libopenjpeg/raw.h ./libopenjpeg/t1.h ./libopenjpeg/t2.h ./libopenjpeg/tcd.h ./libopenjpeg/tgt.h ./libopenjpeg/opj_malloc.h ./libopenjpeg/opj_includes.h ./dotnet/dotnet.h INCLUDE = -Ilibopenjpeg # General configuration variables: CC = gcc AR = ar OSNAME = $(shell uname -s) ifeq ($(OSNAME), Linux) ARCH = $(shell uname -m) ARCHSET = 0 ifeq ($(ARCH), x86_64) ARCH=-x86_64 ARCHFLAGS=-m64 ARCHSET=1 endif ifeq ($(ARCH), s390x) ARCH=-s390x ARCHFLAGS=-m64 ARCHSET=1 endif ifeq ($(ARCH), ppc64) ARCH=-ppc64 ARCHFLAGS=-m64 ARCHSET=1 endif ifeq ($(ARCHSET), 0) ARCH=-i686 ARCHFLAGS=-m32 endif endif # Converts cr/lf to just lf DOS2UNIX = dos2unix COMPILERFLAGS = -O3 -fPIC $(ARCHFLAGS) LIBRARIES = -lstdc++ MODULES = $(SRCS:.c=.o) CPPMODULES = $(CPPSRCS:.cpp=.o) CFLAGS = $(COMPILERFLAGS) $(INCLUDE) TARGET = openjpeg-dotnet SHAREDLIB = lib$(TARGET)-$(VER_MAJOR)-$(VER_MINOR)$(ARCH).so LIBNAME = lib$(TARGET).so.$(VER_MAJOR) default: all # Force 32 bit binary on 64 bit platform 32bit: OpenJPEG all: OpenJPEG dist: OpenJPEG install -d ../bin cp $(SHAREDLIB) ../bin/ dos2unix: @$(DOS2UNIX) $(SRCS) $(INCLS) OpenJPEG: $(SHAREDLIB) $(MODULES): %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ $(CPPMODULES): %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ $(SHAREDLIB): $(MODULES) $(CPPMODULES) $(CC) $(ARCHFLAGS) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(CPPMODULES) $(LIBRARIES) install: OpenJPEG install -d ../bin cp $(SHAREDLIB) ../bin/ clean: rm -rf core dist/ u2dtmp* $(MODULES) $(CPPMODULES) $(SHAREDLIB) $(LIBNAME) osx: make -f Makefile.osx osxinstall: make -f Makefile.osx install osxclean: make -f Makefile.osx clean