OSDN Git Service

gitattirubes test 2
[handbrake-jp/handbrake-jp.git] / libhb / Makefile
1 include ../Makefile.config
2
3 SYSTEM = $(shell uname -s)
4
5 ifeq ($(findstring CYGWIN_NT,$(SYSTEM)),CYGWIN_NT)
6         SYSDEF=-DSYS_CYGWIN
7 endif
8
9 ifeq ($(SYSTEM),FreeBSD)
10         SYSDEF = -DSYS_FREEBSD
11         LDFLAGS += -pthread -lm
12 endif
13         
14 ifeq ($(SYSTEM),NetBSD)
15         SYSDEF = -DSYS_NETBSD
16         LDFLAGS += -lpthread -lm
17 endif
18         
19 ifeq ($(SYSTEM),Linux)
20         SYSDEF = -DSYS_LINUX $(HB_DEFPPC) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
21         LDFLAGS += -lpthread -lm -ldl
22 endif
23
24 SRCS = common.c hb.c ports.c scan.c work.c decmpeg2.c encavcodec.c enctheora.c \
25            update.c demuxmpeg.c fifo.c render.c reader.c muxcommon.c stream.c \
26            muxmp4.c sync.c decsub.c deca52.c decdca.c encfaac.c declpcm.c encx264.c \
27            decavcodec.c encxvid.c muxmkv.c muxavi.c enclame.c muxogm.c encvorbis.c \
28            dvd.c deblock.c deinterlace.c denoise.c detelecine.c decomb.c lang.c
29 OTMP = $(SRCS:%.c=%.o) 
30 OBJS = $(OTMP:%.cpp=%.o)
31
32 CONTRIBS = ../contrib/lib/liba52.a ../contrib/lib/libavformat.a \
33                    ../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a \
34                    ../contrib/lib/libdca.a ../contrib/lib/libdvdread.a  \
35                    ../contrib/lib/libfaac.a ../contrib/lib/libmp3lame.a \
36                    ../contrib/lib/libmpeg2.a ../contrib/lib/libmpeg2convert.a \
37                    ../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a \
38                    ../contrib/lib/libvorbisfile.a ../contrib/lib/libogg.a \
39                    ../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a \
40                    ../contrib/lib/libxvidcore.a  ../contrib/lib/libmp4v2.a \
41                    ../contrib/lib/libmkv.a ../contrib/lib/libswscale.a \
42                    ../contrib/lib/libtheora.a ../contrib/lib/libfaad.a
43                    
44 ifeq ($(findstring CYGWIN_NT,$(SYSTEM)),CYGWIN_NT)
45         CONTRIBS += ../contrib/lib/libz.a ../contrib/lib/libbz2.a
46 endif
47
48 CFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD $(SYSDEF) -Wall -g -O3 -funroll-loops
49
50 CXXFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD $(SYSDEF)
51
52 ifeq ($(findstring CYGWIN_NT,$(SYSTEM)),CYGWIN_NT)
53 all: libhb.a libhb.dll
54 else
55 all: libhb.a
56
57 endif
58
59 libhb.a: $(OBJS)
60         @echo "Library $@"
61         @ar ru $@ $(OBJS)
62         @ranlib $@
63
64 libhb.so: $(OBJS)
65         @echo "Shared library $@"
66         @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS)  || \
67         ( echo "Compile line for $@ was:"; echo $$CMD; false )
68
69 libhb.dll: $(OBJS)
70         @echo "Shared library $@"
71         @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS)  || \
72         ( echo "Compile line for $@ was:"; echo $$CMD; false )
73
74 %.o: %.c
75         @echo "Cc $@"
76         echo $(CC) $(CFLAGS)
77         @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
78           ( echo "Compile line for $@ was:"; echo $$CMD; false )
79
80 %.o: %.cpp
81         @echo "Cc $@"
82         @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
83         ( echo "Compile line for $@ was:"; echo $$CMD; false )
84
85         
86 clean:
87         @echo "Clean libhb.a"
88         @$(RM) libhb.*
89         @echo "Clean libhb.so"
90         @$(RM) libhb.so
91         @echo "Clean $(OBJS)"
92         @$(RM) $(OBJS)
93
94 .depend: $(SRCS)
95         @echo "Checking dependencies..."
96         @$(RM) .depend
97         @$(foreach SRC, $(SRCS), $(CC) -MM $(SRC) $(CFLAGS) >> .depend;)
98         
99 -include .depend
100