mirror of https://github.com/HandBrake/HandBrake
200 lines
5.5 KiB
Plaintext
200 lines
5.5 KiB
Plaintext
__deps__ := BZIP2 LIBVPX SVT-AV1 FFMPEG FREETYPE LAME LIBASS \
|
|
LIBDVDREAD LIBDVDNAV LIBICONV LIBTHEORA LIBVORBIS LIBOGG \
|
|
X264 X265 ZLIB LIBBLURAY FDKAAC LIBVPL LIBGNURX JANSSON \
|
|
HARFBUZZ LIBOPUS LIBSPEEX LIBDAV1D LIBJPEGTURBO LIBDOVI
|
|
|
|
ifeq (,$(filter $(HOST.system),darwin cygwin mingw))
|
|
__deps__ += FONTCONFIG
|
|
endif
|
|
ifeq (netbsd,$(HOST.system))
|
|
__deps__ += LIBJPEGTURBO
|
|
endif
|
|
|
|
$(eval $(call import.MODULE.defs,LIBHB,libhb,$(__deps__)))
|
|
$(eval $(call import.GCC,LIBHB))
|
|
$(eval $(call import.METAL,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.metal.o = $(patsubst $(SRC/)%.metal,$(BUILD/)%.o,$(LIBHB.metal))
|
|
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.metal.o)
|
|
LIBHB.out += $(LIBHB.h.out)
|
|
LIBHB.out += $(LIBHB.a)
|
|
|
|
###############################################################################
|
|
|
|
LIBHB.GCC.D += __LIBHB__
|
|
LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
|
|
|
|
ifeq (1,$(FEATURE.qsv))
|
|
ifeq ($(HOST.system),freebsd)
|
|
LIBHB.GCC.I += $(LOCALBASE)/include/vpl
|
|
else
|
|
LIBHB.GCC.I += $(CONTRIB.build/)include/vpl
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter $(HOST.system),freebsd netbsd openbsd))
|
|
LIBHB.GCC.I += $(LOCALBASE)/include
|
|
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)
|
|
LIBHB.metal += $(wildcard $(LIBHB.src/)platform/macosx/shaders/*.metal)
|
|
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),netbsd)
|
|
LIBHB.GCC.D += SYS_NETBSD _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
|
|
else ifeq ($(HOST.system),openbsd)
|
|
LIBHB.GCC.D += SYS_OPENBSD
|
|
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 += ONEVPL_EXPERIMENTAL
|
|
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 dvdnav dvdread \
|
|
freetype mp3lame swscale vpx theora vorbis vorbisenc ogg x264 \
|
|
bluray jansson harfbuzz opus speex dav1d turbojpeg zimg SvtAv1Enc, \
|
|
$(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.GCC.D += ONEVPL_EXPERIMENTAL
|
|
LIBHB.dll.libs += $(CONTRIB.build/)lib/libvpl.a
|
|
endif
|
|
|
|
ifeq (1,$(FEATURE.x265))
|
|
LIBHB.dll.libs += $(CONTRIB.build/)lib/libx265.a
|
|
endif
|
|
|
|
ifeq (1,$(FEATURE.libdovi))
|
|
LIBHB.dll.libs += $(CONTRIB.build/)lib/libdovi.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 gdi32 userenv ntdll
|
|
ifeq (1,$(FEATURE.mf))
|
|
LIBHB.GCC.l += mfplat strmiids
|
|
endif
|
|
ifeq ($(HAS.dlfcn),1)
|
|
LIBHB.GCC.l += dl
|
|
endif
|
|
LIBHB.out += $(LIBHB.dll) $(LIBHB.lib)
|
|
ifeq ($(HOST.machine),$(filter $(HOST.machine),aarch64))
|
|
ifneq (none,$(GCC.g))
|
|
LIBHB.out += $(LIBHB.pdb)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
###############################################################################
|
|
|
|
BUILD.out += $(LIBHB.out)
|