source: Makefile

Last change on this file was 455:35e5a1a71e54, checked in by Dmitry Fedorov <fedorov@…>, 6 years ago

updated ffmpeg and supported WebM VP9 encoding

File size: 5.6 KB
Line 
1prefix=/usr
2BINDIR=$(prefix)/bin
3LIBDIR=$(prefix)/lib
4MAKEFLAGS += -j 4
5LIBBIM=libsrc/libbioimg
6LIBRAW=libsrc/libraw
7LIBVPX=libsrc/libvpx
8LIBX264=libsrc/libx264
9LIBX265=libsrc/libx265
10FFMPEG=libsrc/ffmpeg
11LIBJPEGTURBO=libsrc/libjpeg-turbo
12LIBGDCM=libsrc/gdcm
13LIBGDCMBIN=libsrc/gdcmbin
14LIBS=libs/linux
15PKG_CONFIG_PATH=$LIBVPX/vpx.pc:$LIBX264/x264.pc:$LIBX265/build/linux/x265.pc
16QMAKEOPTS=
17VERSION=2.0.0
18
19all : imgcnv
20
21
22install:
23        install -d $(DESTDIR)$(BINDIR)
24        install imgcnv $(DESTDIR)$(BINDIR)
25        install -d $(DESTDIR)$(LIBDIR)
26        install libimgcnv.so.2 $(DESTDIR)$(LIBDIR)
27
28
29imgcnv:
30        -mkdir -p .generated/obj
31       
32        @echo
33        @echo   
34        @echo "Building libbioimage in $(LIBBIM)"
35        (cd $(LIBBIM); qmake $(QMAKEOPTS) bioimage.pro)
36        (cd $(LIBBIM); $(MAKE)) 
37
38        @echo
39        @echo
40        @echo "Building imgcnv"       
41        (cd src; qmake $(QMAKEOPTS) imgcnv.pro)
42        (cd src; $(MAKE))
43
44        @echo
45        @echo
46        @echo "Building libimgcnv"   
47        (cd src_dylib; qmake $(QMAKEOPTS) libimgcnv.pro)
48        (cd src_dylib; $(MAKE))
49
50full:
51        -mkdir -p .generated/obj
52        -mkdir -p $(LIBS)
53
54        @echo
55        @echo
56        @echo "Building libbioimage in $(LIBBIM)"
57        (cd $(LIBBIM); qmake $(QMAKEOPTS) bioimage.pro)
58        (cd $(LIBBIM); $(MAKE))
59       
60        @echo
61        @echo
62        @echo "Building libvpx 1.4.0 in $(LIBVPX)"
63        (cd $(LIBVPX); chmod -f u+x configure)
64        (cd $(LIBVPX); chmod -f u+x build/make/version.sh)
65        (cd $(LIBVPX); chmod -f u+x build/make/rtcd.sh)
66        (cd $(LIBVPX); chmod -f u+x build/make/gen_asm_deps.sh)
67        (cd $(LIBVPX); chmod -f u+x build/make/gen_asm_deps.sh)     
68        (cd $(LIBVPX); ./configure --enable-vp8 --enable-vp9 --enable-pic --disable-examples --disable-unit-tests )
69        (cd $(LIBVPX); $(MAKE))
70        (cp $(LIBVPX)/libvpx.a $(LIBS)/)
71       
72        @echo
73        @echo
74        @echo "Building libx264 20150223 in $(LIBX264)"
75        (cd $(LIBX264); chmod -f u+x configure)
76        (cd $(LIBX264); chmod -f u+x version.sh)
77        (cd $(LIBX264); chmod -f u+x config.guess)
78        (cd $(LIBX264); chmod -f u+x config.sub)
79        (cd $(LIBX264); ./configure --enable-pic --enable-static --disable-opencl )
80        (cd $(LIBX264); $(MAKE))
81        (cp $(LIBX264)/libx264.a $(LIBS)/) 
82       
83        @echo
84        @echo
85        @echo "Building libx265 1.4 in $(LIBX265)"
86        #(cd $(LIBX265)/build/linux; chmod -f u+x make-Makefiles.bash)
87        #(cd $(LIBX265)/build/linux; bash make-Makefiles.bash )
88        (cd $(LIBX265)/build/linux; cmake -G "Unix Makefiles" ../../source -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC )
89        (cd $(LIBX265)/build/linux; $(MAKE))
90        (cp $(LIBX265)/build/linux/libx265.a $(LIBS)/)
91
92        @echo
93        @echo
94        @echo "Building libjpeg-turbo 1.4.0 in $(LIBJPEGTURBO)"
95        (cd $(LIBJPEGTURBO); chmod -f u+x configure)
96        (cd $(LIBJPEGTURBO); chmod -f u+x config.guess)
97        (cd $(LIBJPEGTURBO); chmod -f u+x config.sub)
98        (cd $(LIBJPEGTURBO); ./configure --enable-pic --enable-static --enable-shared=no )
99        (cd $(LIBJPEGTURBO); $(MAKE))
100        (cp $(LIBJPEGTURBO)/.libs/libturbojpeg.a $(LIBS)/) 
101       
102        @echo
103        @echo
104        @echo "Building libGDCM 2.4.4 in $(LIBGDCM)"
105        -mkdir -p $(LIBGDCMBIN)
106        (cd $(LIBGDCMBIN); cmake ../gdcm -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_C_FLAGS=-fPIC -DGDCM_USE_OPENJPEG_V2=ON )
107        (cd $(LIBGDCMBIN); $(MAKE))
108        (cp $(LIBGDCMBIN)/bin/*.a $(LIBS)/gdcm/)
109       
110        @echo
111        @echo     
112        @echo "Building ffmpeg 2.6.3 in $(FFMPEG)"
113        (cd $(FFMPEG)/ffmpeg; chmod -f u+x configure)
114        (cd $(FFMPEG)/ffmpeg; chmod -f u+x version.sh)
115        -mkdir -p $(FFMPEG)/ffmpeg-obj
116        (cd $(FFMPEG)/ffmpeg-obj; ../ffmpeg/configure \
117                --enable-static --disable-shared --enable-pic --enable-gray \
118                --prefix=../ffmpeg-out \
119                --extra-cflags="-fPIC -I../../libvpx -I../../libx264 -I../../libx265/source" \
120                --extra-cxxflags="-fPIC -I../../libvpx -I../../libx264 -I../../libx265/source" \
121                --extra-ldflags="-fPIC -L../../libvpx -L../../libx264 -L../../libx265/build/linux" \
122                --enable-gpl --enable-version3 --enable-runtime-cpudetect --enable-pthreads --enable-swscale \
123                --disable-ffserver --disable-ffplay --disable-network --disable-ffmpeg --disable-devices \
124                --disable-frei0r --disable-libass --disable-libcelt --disable-libopencore-amrnb --disable-libopencore-amrwb \
125                --disable-libfreetype --disable-libgsm --disable-libmp3lame --disable-libnut --disable-librtmp \
126                --disable-libspeex --disable-libvorbis \
127                --enable-bzlib --enable-zlib \
128                --disable-libopenjpeg --disable-libschroedinger \
129                --enable-libtheora --enable-libvpx --enable-libx264 --enable-encoder=libx264 --enable-libx265 --enable-libxvid \
130                --disable-libvo-aacenc --disable-libvo-amrwbenc )
131       
132        (cd $(FFMPEG)/ffmpeg-obj; $(MAKE) all install)
133       
134        (cp -f $(FFMPEG)/ffmpeg-out/lib/libavcodec.a $(LIBS)/) 
135        (cp -f $(FFMPEG)/ffmpeg-out/lib/libavformat.a $(LIBS)/) 
136        (cp -f $(FFMPEG)/ffmpeg-out/lib/libavutil.a $(LIBS)/) 
137        (cp -f $(FFMPEG)/ffmpeg-out/lib/libswscale.a $(LIBS)/) 
138        -mkdir -p $(FFMPEG)/include
139        (cp -Rf $(FFMPEG)/ffmpeg-out/include/libavcodec $(FFMPEG)/include/)
140        (cp -Rf $(FFMPEG)/ffmpeg-out/include/libavformat $(FFMPEG)/include/)
141        (cp -Rf $(FFMPEG)/ffmpeg-out/include/libavutil $(FFMPEG)/include/)
142        (cp -Rf $(FFMPEG)/ffmpeg-out/include/libswscale $(FFMPEG)/include/)
143       
144       
145        @echo
146        @echo
147        @echo "Building imgcnv"   
148        (cd src; qmake $(QMAKEOPTS) imgcnv.pro)
149        (cd src; $(MAKE))
150
151        @echo
152        @echo
153        @echo "Building libimgcnv"   
154        (cd src_dylib; qmake $(QMAKEOPTS) libimgcnv.pro)
155        (cd src_dylib; $(MAKE))
156
157clean:
158        (cd src; $(MAKE) clean)
159        rm -rf .generated *.o *~
160        rm -rf $(LIBBIM)/.generated $(LIBBIM)/*.o $(LIBBIM)/*~ $(LIBBIM)/.qmake.stash
161        (cd $(LIBBIM); $(MAKE) clean)
162        (cd $(LIBBIM); $(MAKE) clean)
163
164cleanfull:
165        (cd src; $(MAKE) clean)
166        rm -rf .generated *.o *~
167        rm -rf $(LIBBIM)/.generated $(LIBBIM)/*.o $(LIBBIM)/*~ $(LIBBIM)/.qmake.stash
168        (cd $(LIBBIM); $(MAKE) clean)   
169        (cd $(LIBVPX); $(MAKE) clean)
170        (cd $(LIBX264); $(MAKE) clean)
171        rm -rf $(FFMPEG)/ffmpeg-obj
172        rm -rf $(FFMPEG)/ffmpeg-out
173        #(cd $(FFMPEG)/ffmpeg; $(MAKE) clean)           
174
175realclean: clean
176        rm -f imgcnv
177        rm -f libimgcnv.so*
178
179
180
181.FORCE: imgcnv
Note: See TracBrowser for help on using the repository browser.