1. The jp3d/libjp3dvm/Makefile.am has been changed:
[openjpeg.git] / jp3d / Makefile.nix
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/openjpeg.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 AR = ar
25
26 INSTALL_LIBDIR = $(prefix)/lib
27 headerdir = openjpeg3d-$(JP3D_MAJOR).$(JP3D_MINOR)
28 INSTALL_INCLUDE = $(prefix)/include/$(headerdir)
29
30 # Converts cr/lf to just lf
31 DOS2UNIX = dos2unix
32
33 LIBRARIES = -lstdc++
34
35 MODULES = $(SRCS:.c=.o)
36 CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
37
38 LIBNAME = lib$(TARGET)
39 STATICLIB = $(LIBNAME).a
40
41 ifeq ($(ENABLE_SHARED),yes)
42 SHAREDLIB = $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR).$(JP3D_BUILD)
43 endif
44
45 default: all
46
47 all: Jp3dVM
48         make -C codec -f Makefile.nix all 
49         install -d ../bin
50         install -m 644 $(STATICLIB) ../bin
51 ifeq ($(ENABLE_SHARED),yes)
52         install -m 755 $(SHAREDLIB) ../bin
53         (cd ../bin && \
54         ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR))
55         (cd ../bin && \
56         ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so)
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 $(STATICLIB): $(MODULES)
68         $(AR) r $@ $(MODULES)
69
70 ifeq ($(ENABLE_SHARED),yes)
71 $(SHAREDLIB): $(MODULES)
72         $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
73 endif
74
75 install: Jp3dVM
76         install -d '$(DESTDIR)$(INSTALL_LIBDIR)'
77         install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
78         (cd $(DESTDIR)$(INSTALL_LIBDIR) && ranlib $(STATICLIB))
79 ifeq ($(ENABLE_SHARED),yes)
80         install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
81         (cd $(DESTDIR)$(INSTALL_LIBDIR) &&  \
82         ln -sf $(SHAREDLIB) $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) )
83         (cd $(DESTDIR)$(INSTALL_LIBDIR) && \
84         ln -sf $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(LIBNAME).so )
85 endif
86         ldconfig
87         install -d $(DESTDIR)$(INSTALL_INCLUDE)
88         rm -f $(DESTDIR)$(INSTALL_INCLUDE)/openjpeg.h
89         install -m 644 -o root -g root libjp3dvm/openjpeg.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         rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)
97 ifeq ($(ENABLE_SHARED),yes)
98         (cd $(DESTDIR)$(INSTALL_LIBDIR) && \
99         rm $(LIBNAME).so $(LIBNAME).so.$(JP3D_MAJOR).$(JP3D_MINOR) $(SHAREDLIB))
100 endif
101         ldconfig
102         rm -f $(DESTDIR)$(prefix)/include/openjpeg3d.h
103         rm -rf $(DESTDIR)$(INSTALL_INCLUDE)
104         make -C codec -f Makefile.nix uninstall
105 clean:
106         rm -f core u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB)
107         make -C codec -f Makefile.nix clean