OSDN Git Service

12db981e02d20186552ed804907c4cdd523ca853
[handbrake-jp/handbrake-jp-git.git] / libhb / module.defs
1 __deps__ := A52DEC BZIP2 FAAC FFMPEG FONTCONFIG FREETYPE LAME LIBASS LIBDCA \
2     LIBDVDREAD LIBDVDNAV LIBICONV LIBMKV LIBOGG LIBSAMPLERATE LIBTHEORA LIBVORBIS LIBXML2 \
3     MP4V2 MPEG2DEC PTHREADW32 X264 ZLIB LIBBLURAY
4
5 $(eval $(call import.MODULE.defs,LIBHB,libhb,$(__deps__)))
6 $(eval $(call import.GCC,LIBHB))
7
8 ###############################################################################
9
10 LIBHB.src/   = $(SRC/)libhb/
11 LIBHB.build/ = $(BUILD/)libhb/
12
13 LIBHB.m4.in  = $(wildcard $(LIBHB.src/)*.m4)
14 LIBHB.m4.out = $(patsubst $(LIBHB.src/)%.m4,$(LIBHB.build/)%,$(LIBHB.m4.in))
15
16 LIBHB.c   = $(wildcard $(LIBHB.src/)*.c)
17 LIBHB.c.o = $(patsubst $(SRC/)%.c,$(BUILD/)%.o,$(LIBHB.c))
18 LIBHB.d   = $(LIBHB.m4.out) $(LIBHB.h.out) \
19     $(foreach n,$(LIBHB.prerequisites),$($n.INSTALL.target) )
20
21 LIBHB.h.in  = $(wildcard $(LIBHB.src/)*.h)
22 LIBHB.h.out = $(patsubst $(SRC/)%,$(BUILD/)%,$(LIBHB.h.in))
23
24 ###############################################################################
25
26 LIBHB.a = $(LIBHB.build/)$(call TARGET.archive,hb)
27
28 ###############################################################################
29
30 LIBHB.out += $(LIBHB.m4.out)
31 LIBHB.out += $(LIBHB.c.o)
32 LIBHB.out += $(LIBHB.h.out)
33 LIBHB.out += $(LIBHB.a)
34
35 ###############################################################################
36
37 ifeq (1,$(FEATURE.ff.mpeg2))
38 LIBHB.GCC.D += USE_FF_MPEG2
39 endif
40 LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
41 LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
42
43 ifeq ($(BUILD.system),cygwin)
44     LIBHB.GCC.D += SYS_CYGWIN
45 else ifeq ($(BUILD.system),darwin)
46     LIBHB.GCC.D += SYS_DARWIN
47     LIBHB.c += $(wildcard $(LIBHB.src/)platform/macosx/*.c)
48 else ifeq ($(BUILD.system),linux)
49     LIBHB.GCC.D += SYS_LINUX _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
50 else ifeq ($(BUILD.system),mingw)
51     LIBHB.GCC.D += SYS_MINGW PTW32_STATIC_LIB
52         LIBHB.GCC.args.extra.dylib++ += -Wl,--enable-auto-import -static
53 else ifeq ($(BUILD.system),solaris)
54     LIBHB.GCC.D += SYS_SunOS _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64
55 else
56     LIBHB.platform.D = SYS_UNKNOWN
57 endif
58
59 ## required for <libdvdread/*.h>
60 ifneq (,$(filter $(BUILD.arch),ppc ppc64))
61         LIBHB.GCC.D += WORDS_BIGENDIAN
62 endif
63
64 ###############################################################################
65
66 ## when defined this gives us the subdir name, or flavor of asm implementation
67 ifneq (disabled,$(FEATURE.asm))
68
69 LIBHB.yasm.src/   = $(LIBHB.src/)$(FEATURE.asm)/
70 LIBHB.yasm.build/ = $(LIBHB.build/)$(FEATURE.asm)/
71 LIBHB.yasm.asm    = $(LIBHB.yasm.src/)deinterlace-a.asm
72 LIBHB.yasm.o      = $(LIBHB.yasm.asm:$(LIBHB.yasm.src/)%.asm=$(LIBHB.yasm.build/)%.o)
73 LIBHB.yasm.d      = $(wildcard $(LIBHB.yasmsrc/)*.h)
74
75 LIBHB.YASM.I     = $(LIBHB.yasm.src/)
76 LIBHB.YASM.ASM_O = $(strip $(YASM.exe) \
77     -f $(LIBHB.YASM.f) \
78     -m $(LIBHB.YASM.m) \
79     $(LIBHB.YASM.D:%=-D%) \
80     $(LIBHB.YASM.I:%=-I%) \
81     -o $(1) $(2))
82
83 LIBHB.out += $(LIBHB.yasm.o)
84
85 endif
86
87 ###############################################################################
88
89 ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
90
91 LIBHB.dll = $(LIBHB.build/)hb.dll
92 LIBHB.lib = $(LIBHB.build/)hb.lib
93
94 LIBHB.dll.libs = $(foreach n, \
95         a52 ass avcore avcodec avformat avutil dca dvdnav dvdread faac fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
96         ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \
97         $(CONTRIB.build/)lib/lib$(n).a )
98
99 ifneq ($(HAS.iconv),1)
100 LIBHB.dll.libs += $(CONTRIB.build/)lib/libiconv.a
101 else
102     LIBHB.GCC.l += iconv
103 endif
104
105 ifneq ($(HAS.pthread),1)
106 LIBHB.dll.libs += $(CONTRIB.build/)lib/libpthreadGC2.a
107 else
108     LIBHB.GCC.l += pthreadGC2
109 endif
110
111 ifneq ($(HAS.bz2),1)
112 LIBHB.dll.libs += $(CONTRIB.build/)lib/libbz2.a
113 else
114     LIBHB.GCC.l += bz2
115 endif
116
117 ifneq ($(HAS.libz),1)
118 LIBHB.dll.libs += $(CONTRIB.build/)lib/libz.a
119 else
120     LIBHB.GCC.l += z
121 endif
122
123 LIBHB.GCC.args.extra.dylib++ += -Wl,--out-implib,$(LIBHB.lib)
124 LIBHB.GCC.l += iberty ws2_32
125 ifeq ($(HAS.dlfcn),1)
126     LIBHB.GCC.l += dl
127 endif
128 LIBHB.out += $(LIBHB.dll) $(LIBHB.lib)
129
130 endif
131
132 ###############################################################################
133
134 BUILD.out += $(LIBHB.out)