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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
__deps__ := A52DEC BZIP2 LIBVPX FFMPEG FREETYPE LAME LIBASS LIBDCA \
LIBDVDREAD LIBDVDNAV LIBICONV LIBSAMPLERATE LIBTHEORA LIBVORBIS LIBOGG \
LIBXML2 X264 X265 ZLIB LIBBLURAY FDKAAC LIBMFX LIBGNURX JANSSON \
HARFBUZZ LIBOPUS LIBSPEEX
ifeq (,$(filter $(HOST.system),darwin cygwin mingw))
__deps__ += FONTCONFIG
endif
$(eval $(call import.MODULE.defs,LIBHB,libhb,$(__deps__)))
$(eval $(call import.GCC,LIBHB))
###############################################################################
LIBHB.src/ = $(SRC/)libhb/
LIBHB.build/ = $(BUILD/)libhb/
LIBHB.m4.in = $(wildcard $(LIBHB.src/)handbrake/*.m4)
LIBHB.m4.out = $(patsubst $(LIBHB.src/)%.m4,$(LIBHB.build/)%,$(LIBHB.m4.in))
LIBHB.c = $(wildcard $(LIBHB.src/)*.c)
LIBHB.c.o = $(patsubst $(SRC/)%.c,$(BUILD/)%.o,$(LIBHB.c))
LIBHB.m.o = $(patsubst $(SRC/)%.m,$(BUILD/)%.o,$(LIBHB.m))
LIBHB.d = $(LIBHB.m4.out) $(LIBHB.h.out) \
$(foreach n,$(LIBHB.prerequisites),$($n.INSTALL.target) )
LIBHB.h.in = $(wildcard $(LIBHB.src/)handbrake/*.h)
LIBHB.h.in += $(wildcard $(LIBHB.src/)extras/*.h)
LIBHB.h.out = $(patsubst $(SRC/)%,$(BUILD/)%,$(LIBHB.h.in))
###############################################################################
LIBHB.a = $(LIBHB.build/)$(call TARGET.archive,handbrake)
###############################################################################
LIBHB.out += $(LIBHB.m4.out)
LIBHB.out += $(LIBHB.c.o)
LIBHB.out += $(LIBHB.m.o)
LIBHB.out += $(LIBHB.h.out)
LIBHB.out += $(LIBHB.a)
###############################################################################
LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
ifneq (,$(filter $(HOST.system),freebsd netbsd))
LIBHB.GCC.I += $(LOCALBASE)/include
LIBHB.GCC.I += $(LOCALBASE)/include/libxml2
else ifneq (,$(filter $(HOST.system),darwin cygwin mingw))
LIBHB.GCC.I += $(CONTRIB.build/)include/libxml2
else
LIBHB.GCC.I += /usr/include/libxml2
endif
ifeq ($(HOST.system),cygwin)
LIBHB.GCC.D += SYS_CYGWIN
else ifeq ($(HOST.system),darwin)
LIBHB.GCC.D += SYS_DARWIN
LIBHB.c += $(wildcard $(LIBHB.src/)platform/macosx/*.c)
LIBHB.m += $(wildcard $(LIBHB.src/)platform/macosx/*.m)
else ifeq ($(HOST.system),linux)
LIBHB.GCC.D += SYS_LINUX _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
else ifeq ($(HOST.system),freebsd)
LIBHB.GCC.D += SYS_FREEBSD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
else ifeq ($(HOST.system),mingw)
LIBHB.GCC.D += SYS_MINGW
ifneq ($(HAS.pthread),1)
LIBHB.GCC.D += PTW32_STATIC_LIB
endif
LIBHB.GCC.args.extra.dylib++ += -Wl,--enable-auto-import -static
else ifeq ($(HOST.system),solaris)
LIBHB.GCC.D += SYS_SunOS _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64 _POSIX_C_SOURCE=200112L __EXTENSIONS__
else
LIBHB.platform.D = SYS_UNKNOWN
endif
ifeq (1,$(FEATURE.qsv))
LIBHB.GCC.D += HAVE_THREADS=1
endif
ifeq (1,$(COMPAT.strtok_r))
LIBHB.GCC.D += HB_NEED_STRTOK_R
endif
ifeq (1,$(HAS.strerror_r))
LIBHB.GCC.D += HAS_STRERROR_R
endif
## required for <libdvdread/*.h>
ifneq (,$(filter $(HOST.arch),ppc ppc64))
LIBHB.GCC.D += WORDS_BIGENDIAN
endif
###############################################################################
ifeq (1-mingw,$(HOST.cross)-$(HOST.system))
LIBHB.dll = $(LIBHB.build/)hb.dll
LIBHB.lib = $(LIBHB.build/)hb.lib
LIBHB.dll.libs = $(foreach n, \
ass avformat avfilter avcodec avutil swresample postproc dvdnav dvdread \
freetype mp3lame swscale vpx theora vorbis vorbisenc ogg \
x264 xml2 bluray jansson harfbuzz opus speex, \
$(CONTRIB.build/)lib/lib$(n).a )
ifeq (1,$(FEATURE.fdk_aac))
LIBHB.dll.libs += $(CONTRIB.build/)lib/libfdk-aac.a
endif
ifeq (1,$(FEATURE.qsv))
LIBHB.dll.libs += $(CONTRIB.build/)lib/libmfx.a
endif
ifneq ($(HAS.iconv),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/libiconv.a
else
LIBHB.GCC.l += iconv
endif
ifneq ($(HAS.regex),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/libregex.a
else
LIBHB.GCC.l += regex
endif
ifeq (1,$(FRIBIDI.enabled))
LIBHB.dll.libs += $(CONTRIB.build/)lib/libfribidi.a
else
LIBHB.GCC.l += fribidi
endif
ifeq ($(HAS.pthread),1)
LIBHB.GCC.l += pthread
endif
ifneq ($(HAS.bz2),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/libbz2.a
else
LIBHB.GCC.l += bz2
endif
ifneq ($(HAS.libz),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/libz.a
else
LIBHB.GCC.l += z
endif
ifneq ($(HAS.xz),1)
LIBHB.dll.libs += $(CONTRIB.build/)lib/liblzma.a
else
LIBHB.GCC.l += lzma
endif
LIBHB.GCC.args.extra.dylib++ += -Wl,--out-implib,$(LIBHB.lib)
LIBHB.GCC.l += bcrypt ws2_32 uuid ole32
ifeq ($(HAS.dlfcn),1)
LIBHB.GCC.l += dl
endif
LIBHB.out += $(LIBHB.dll) $(LIBHB.lib)
endif
###############################################################################
BUILD.out += $(LIBHB.out)
|