diff options
Diffstat (limited to 'jp3d/Makefile.nix')
| -rw-r--r-- | jp3d/Makefile.nix | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/jp3d/Makefile.nix b/jp3d/Makefile.nix new file mode 100644 index 00000000..69caaddf --- /dev/null +++ b/jp3d/Makefile.nix @@ -0,0 +1,106 @@ +#jp3d Makefile +include ../config.nix + +TARGET = openjp3dvm +COMPILERFLAGS = -O3 -Wall -ffast-math -std=c99 -fPIC + +SRCS = ./libjp3dvm/bio.c ./libjp3dvm/cio.c ./libjp3dvm/dwt.c \ + ./libjp3dvm/event.c ./libjp3dvm/jp3d.c ./libjp3dvm/jp3d_lib.c \ + ./libjp3dvm/volume.c ./libjp3dvm/mct.c ./libjp3dvm/mqc.c \ + ./libjp3dvm/openjpeg.c ./libjp3dvm/pi.c ./libjp3dvm/raw.c \ + ./libjp3dvm/t1.c ./libjp3dvm/t1_3d.c ./libjp3dvm/t2.c \ + ./libjp3dvm/tcd.c ./libjp3dvm/tgt.c + +INCLS = ./libjp3dvm/t1_3d.h ./libjp3dvm/bio.h ./libjp3dvm/cio.h \ + ./libjp3dvm/dwt.h ./libjp3dvm/event.h ./libjp3dvm/fix.h \ + ./libjp3dvm/int.h ./libjp3dvm/jp3d.h ./libjp3dvm/jp3d_lib.h \ + ./libjp3dvm/volume.h ./libjp3dvm/mct.h ./libjp3dvm/mqc.h \ + ./libjp3dvm/openjpeg.h ./libjp3dvm/pi.h ./libjp3dvm/raw.h \ + ./libjp3dvm/t1.h ./libjp3dvm/t2.h ./libjp3dvm/tcd.h \ + ./libjp3dvm/tgt.h ./libjp3dvm/opj_includes.h + +INCLUDE = -I.. -Ilibjp3dvm + +AR = ar + +INSTALL_LIBDIR = $(prefix)/lib +headerdir = openjpeg3d-$(JP3D_MAJOR).$(JP3D_MINOR) +INSTALL_INCLUDE = $(prefix)/include/$(headerdir) + +# Converts cr/lf to just lf +DOS2UNIX = dos2unix + +LIBRARIES = -lstdc++ + +MODULES = $(SRCS:.c=.o) +CFLAGS = $(COMPILERFLAGS) $(INCLUDE) + +LIBNAME = lib$(TARGET) +STATICLIB = $(LIBNAME).a + +ifeq ($(ENABLE_SHARED),yes) +SHAREDLIB = $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR).$(JP3D_BUILD) +endif + +default: all + +all: Jp3dVM + make -C codec -f Makefile.nix all + install -d ../bin + install -m 644 $(STATICLIB) ../bin +ifeq ($(ENABLE_SHARED),yes) + install -m 755 $(SHAREDLIB) ../bin + (cd ../bin && \ + ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR)) + (cd ../bin && \ + ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so) +endif + +dos2unix: + @$(DOS2UNIX) $(SRCS) $(INCLS) + +Jp3dVM: $(STATICLIB) $(SHAREDLIB) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +$(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + +ifeq ($(ENABLE_SHARED),yes) +$(SHAREDLIB): $(MODULES) + $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES) +endif + +install: Jp3dVM + install -d '$(DESTDIR)$(INSTALL_LIBDIR)' + install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)' + (cd $(DESTDIR)$(INSTALL_LIBDIR) && ranlib $(STATICLIB)) +ifeq ($(ENABLE_SHARED),yes) + install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)' + (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ + ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) ) + (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ + ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so ) +endif + ldconfig + install -d $(DESTDIR)$(INSTALL_INCLUDE) + install -m 644 -o root -g root libjp3dvm/openjpeg.h \ + $(DESTDIR)$(INSTALL_INCLUDE) + (cd $(DESTDIR)$(prefix)/include && \ + ln -sf $(headerdir)/openjpeg.h openjpeg3d.h) + make -C codec -f Makefile.nix install + +uninstall: + rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB) +ifeq ($(ENABLE_SHARED),yes) + (cd $(DESTDIR)$(INSTALL_LIBDIR) && \ + rm $(LIBNAME).so $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(SHAREDLIB)) +endif + ldconfig + rm -f $(DESTDIR)$(prefix)/include/openjpeg3d.h + rm -rf $(DESTDIR)$(INSTALL_INCLUDE) + make -C codec -f Makefile.nix uninstall +clean: + rm -f core u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) + make -C codec -f Makefile.nix clean |
