Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. #jp3d Makefile
  2. include ../config.nix
  3.  
  4. TARGET  = openjp3dvm
  5. COMPILERFLAGS = -O3 -Wall -ffast-math -std=c99 -fPIC
  6.  
  7. SRCS = ./libjp3dvm/bio.c ./libjp3dvm/cio.c ./libjp3dvm/dwt.c \
  8.   ./libjp3dvm/event.c ./libjp3dvm/jp3d.c ./libjp3dvm/jp3d_lib.c \
  9.   ./libjp3dvm/volume.c ./libjp3dvm/mct.c ./libjp3dvm/mqc.c \
  10.   ./libjp3dvm/openjpeg.c ./libjp3dvm/pi.c ./libjp3dvm/raw.c \
  11.   ./libjp3dvm/t1.c ./libjp3dvm/t1_3d.c ./libjp3dvm/t2.c \
  12.   ./libjp3dvm/tcd.c ./libjp3dvm/tgt.c
  13.  
  14. INCLS = ./libjp3dvm/t1_3d.h ./libjp3dvm/bio.h ./libjp3dvm/cio.h \
  15.   ./libjp3dvm/dwt.h ./libjp3dvm/event.h ./libjp3dvm/fix.h \
  16.   ./libjp3dvm/int.h ./libjp3dvm/jp3d.h ./libjp3dvm/jp3d_lib.h \
  17.   ./libjp3dvm/volume.h ./libjp3dvm/mct.h ./libjp3dvm/mqc.h \
  18.   ./libjp3dvm/openjpeg3d.h ./libjp3dvm/pi.h ./libjp3dvm/raw.h \
  19.   ./libjp3dvm/t1.h  ./libjp3dvm/t2.h ./libjp3dvm/tcd.h \
  20.   ./libjp3dvm/tgt.h ./libjp3dvm/opj_includes.h
  21.  
  22. INCLUDE = -I.. -Ilibjp3dvm
  23.  
  24. INSTALL_LIBDIR = $(prefix)/lib
  25. headerdir = openjpeg3d-$(JP3D_MAJOR).$(JP3D_MINOR)
  26. INSTALL_INCLUDE = $(prefix)/include/$(headerdir)
  27.  
  28. # Converts cr/lf to just lf
  29. DOS2UNIX = dos2unix
  30.  
  31. LIBRARIES = -lstdc++
  32.  
  33. MODULES = $(SRCS:.c=.o)
  34. CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
  35.  
  36. LIBNAME = lib$(TARGET)
  37.  
  38. ifeq ($(ENABLE_SHARED),yes)
  39. SHAREDLIB = $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR).$(JP3D_BUILD)
  40. else
  41. STATICLIB = $(LIBNAME).a
  42. endif
  43.  
  44. default: all
  45.  
  46. all: Jp3dVM
  47.         make -C codec -f Makefile.nix all
  48.         install -d ../bin
  49. ifeq ($(ENABLE_SHARED),yes)
  50.         install -m 755 $(SHAREDLIB) ../bin
  51.         (cd ../bin && \
  52.         ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR))
  53.         (cd ../bin && \
  54.         ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so)
  55. else
  56.         install -m 644 $(STATICLIB) ../bin
  57. endif
  58.  
  59. dos2unix:
  60.         @$(DOS2UNIX) $(SRCS) $(INCLS)
  61.  
  62. Jp3dVM: $(STATICLIB) $(SHAREDLIB)
  63.  
  64. .c.o:
  65.         $(CC) $(CFLAGS) -c $< -o $@
  66.  
  67. ifeq ($(ENABLE_SHARED),yes)
  68. $(SHAREDLIB): $(MODULES)
  69.         $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
  70. else
  71. $(STATICLIB): $(MODULES)
  72.         $(AR) r $@ $(MODULES)
  73. endif
  74.  
  75. install: Jp3dVM
  76.         install -d '$(DESTDIR)$(INSTALL_LIBDIR)'
  77. ifeq ($(ENABLE_SHARED),yes)
  78.         install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
  79.         (cd $(DESTDIR)$(INSTALL_LIBDIR) &&  \
  80.         ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) )
  81.         (cd $(DESTDIR)$(INSTALL_LIBDIR) && \
  82.         ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so )
  83. else
  84.         install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
  85.         (cd $(DESTDIR)$(INSTALL_LIBDIR) && ranlib $(STATICLIB))
  86. endif
  87.         install -d $(DESTDIR)$(INSTALL_INCLUDE)
  88.         rm -f $(DESTDIR)$(INSTALL_INCLUDE)/openjpeg3d.h
  89.         install -m 644 -o root -g root libjp3dvm/openjpeg3d.h \
  90.         $(DESTDIR)$(INSTALL_INCLUDE)/openjpeg3d.h
  91.         (cd $(DESTDIR)$(prefix)/include && \
  92.         ln -sf $(headerdir)/openjpeg3d.h openjpeg3d.h)
  93.         make -C codec -f Makefile.nix install
  94.  
  95. uninstall:
  96. ifeq ($(ENABLE_SHARED),yes)
  97.         (cd $(DESTDIR)$(INSTALL_LIBDIR) && \
  98.         rm -f $(LIBNAME).so $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(SHAREDLIB))
  99. else
  100.         rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)
  101. endif
  102.         rm -f $(DESTDIR)$(prefix)/include/openjpeg3d.h
  103.         rm -rf $(DESTDIR)$(INSTALL_INCLUDE)
  104.         make -C codec -f Makefile.nix uninstall
  105.  
  106. clean:
  107.         rm -f core u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB)
  108.         make -C codec -f Makefile.nix clean
  109.