summaryrefslogtreecommitdiff
path: root/graphics/libbpg/files/patch-Makefile
blob: 055d63bf293af7a4781efdc09ae2779534375aaa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
--- Makefile.orig	2018-04-21 09:42:55 UTC
+++ Makefile
@@ -17,7 +17,7 @@ USE_BPGVIEW=y
 # Enable for compilation on MacOS X
 #CONFIG_APPLE=y
 # Installation prefix
-prefix=/usr/local
+prefix=${DESTDIR}${PREFIX}
 
 
 #################################
@@ -31,19 +31,20 @@ CROSS_PREFIX:=
 EXE:=
 endif
 
-CC=$(CROSS_PREFIX)gcc
-CXX=$(CROSS_PREFIX)g++
-AR=$(CROSS_PREFIX)ar
+CC?=$(CROSS_PREFIX)gcc
+CXX?=$(CROSS_PREFIX)g++
+AR?=$(CROSS_PREFIX)ar
+LD?=$(CROSS_PREFIX)ld
 EMCC=emcc
 
 PWD:=$(shell pwd)
 
-CFLAGS:=-Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer
-CFLAGS+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT
-CFLAGS+=-I.
-CFLAGS+=-DCONFIG_BPG_VERSION=\"$(shell cat VERSION)\"
+CFLAGS_DIST:=-Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer 
+CFLAGS_DIST+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT
+CFLAGS_DIST+=-I.
+CFLAGS_DIST+=-DCONFIG_BPG_VERSION=\"$(shell cat VERSION)\"
 ifdef USE_JCTVC_HIGH_BIT_DEPTH
-CFLAGS+=-DRExt__HIGH_BIT_DEPTH_SUPPORT
+CFLAGS_DIST+=-DRExt__HIGH_BIT_DEPTH_SUPPORT
 endif
 
 # Emscriptem config
@@ -54,15 +55,18 @@ EMLDFLAGS+=-s NO_FILESYSTEM=1 -s NO_BROWSER=1
 EMLDFLAGS+=-O3 --memory-init-file 0 --closure 0 --pre-js pre.js --post-js post.js
 EMCFLAGS:=$(CFLAGS)
 
-LDFLAGS=-g
+LDFLAGS_DIST=-g
 ifdef CONFIG_APPLE
-LDFLAGS+=-Wl,-dead_strip
+LDFLAGS_DIST+=-Wl,-dead_strip
 else
-LDFLAGS+=-Wl,--gc-sections
+LDFLAGS_DIST+=-Wl,--gc-sections
 endif
-CFLAGS+=-g
-CXXFLAGS=$(CFLAGS)
+CFLAGS_DIST+=-g
 
+CFLAGS:=${CFLAGS_DIST} ${CFLAGS}
+LDFLAGS:=${LDFLAGS_DIST} ${LDFLAGS}
+CXXFLAGS=${CFLAGS}
+
 PROGS=bpgdec$(EXE) bpgenc$(EXE)
 ifdef USE_BPGVIEW
 PROGS+=bpgview$(EXE)
@@ -71,7 +75,7 @@ ifdef USE_EMCC
 PROGS+=bpgdec.js bpgdec8.js bpgdec8a.js
 endif
 
-all: $(PROGS)
+all: libbpg.a libbpg.so $(PROGS)
 
 LIBBPG_OBJS:=$(addprefix libavcodec/, \
 hevc_cabac.o  hevc_filter.o  hevc.o         hevcpred.o  hevc_refs.o\
@@ -99,36 +103,13 @@ BPGENC_LIBS:=
 
 ifdef USE_X265
 
-X265_LIBS:=./x265.out/8bit/libx265.a ./x265.out/10bit/libx265.a ./x265.out/12bit/libx265.a
 BPGENC_OBJS+=x265_glue.o $(X265_LIBS)
+BPGENC_LIBS+=$(X265_LIBS)
 
 bpgenc.o: CFLAGS+=-DUSE_X265
-x265_glue.o: CFLAGS+=-I./x265/source -I./x265.out/8bit
-x265_glue.o: $(X265_LIBS)
 
-ifdef CONFIG_WIN32
-CMAKE_OPTS:=-DCMAKE_TOOLCHAIN_FILE=../../x265/build/msys/toolchain-x86_64-w64-mingw32.cmake
-else
-CMAKE_OPTS:=
-endif
-
-x265.out:
-	mkdir -p x265.out/8bit x265.out/10bit x265.out/12bit
-	cd x265.out/12bit && cmake ../../x265/source $(CMAKE_OPTS) -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON
-	cd x265.out/10bit && cmake ../../x265/source $(CMAKE_OPTS) -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN10=ON
-	cd x265.out/8bit && cmake ../../x265/source $(CMAKE_OPTS) -DLINKED_10BIT=ON -DLINKED_12BIT=ON -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
-
-# use this target to manually rebuild x265
-x265_make: | x265.out
-	$(MAKE) -C x265.out/12bit
-	$(MAKE) -C x265.out/10bit
-	$(MAKE) -C x265.out/8bit
-
 x265_clean:
-	rm -rf x265.out
 
-$(X265_LIBS): x265_make
-
 else
 
 x265_clean:
@@ -189,6 +170,9 @@ bpgenc.o: CFLAGS+=-Wno-unused-but-set-variable
 
 libbpg.a: $(LIBBPG_OBJS) 
 	$(AR) rcs $@ $^
+
+libbpg.so: $(LIBBPG_OBJS) 
+	$(CC) $(LDFLAGS) -Wl,--soname=$(shell cat VERSION | cut -f1,2 -d .) -shared -o $@ $^
 
 bpgdec$(EXE): bpgdec.o libbpg.a
 	$(CC) $(LDFLAGS) -o $@ $^ $(BPGDEC_LIBS)