OSDN Git Service

Repeat after me, eddyg is a wally.
[handbrake-jp/handbrake-jp-git.git] / libhb / Makefile
1 include ../Makefile.config
2
3 SYSTEM = $(shell uname -s)
4
5 ifeq ($(SYSTEM),CYGWIN_NT-5.1)
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 \
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  ipodutil.cpp deblock.c deinterlace.c denoise.c detelecine.c lang.c
29 OTMP = $(SRCS:%.c=%.o) 
30 OBJS = $(OTMP:%.cpp=%.o)
31
32 ifeq ($(SYSTEM),CYGWIN_NT-5.1)
33 CONTRIBS = ../contrib/lib/liba52.a ../contrib/lib/libavformat.a \
34                    ../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a \
35                    ../contrib/lib/libdca.a ../contrib/lib/libdvdread.a  \
36                    ../contrib/lib/libfaac.a ../contrib/lib/libmp3lame.a \
37                    ../contrib/lib/libmpeg2.a ../contrib/lib/libmpeg2convert.a \
38                    ../contrib/lib/libvorbis.a ../contrib/lib/libvorbisenc.a \
39                    ../contrib/lib/libvorbisfile.a ../contrib/lib/libogg.a \
40                    ../contrib/lib/libsamplerate.a ../contrib/lib/libx264.a \
41                    ../contrib/lib/libxvidcore.a  ../contrib/lib/libmp4v2.a \
42                    ../contrib/lib/libmkv.a ../contrib/lib/libswscale.a
43 else
44 CONTRIBS = ../contrib/lib/liba52.a ../contrib/lib/libavformat.a \
45                    ../contrib/lib/libavcodec.a ../contrib/lib/libavutil.a \
46                    ../contrib/lib/libdca.a ../contrib/lib/libdvdread.a \
47                    ../contrib/lib/libdvdcss.a ../contrib/lib/libfaac.a \
48                    ../contrib/lib/libmp3lame.a ../contrib/lib/libmpeg2.a \
49                    ../contrib/lib/libmpeg2convert.a ../contrib/lib/libvorbis.a \
50                    ../contrib/lib/libvorbisenc.a ../contrib/lib/libvorbisfile.a \
51                    ../contrib/lib/libogg.a ../contrib/lib/libsamplerate.a \
52                    ../contrib/lib/libx264.a ../contrib/lib/libxvidcore.a \
53                    ../contrib/lib/libmp4v2.a ../contrib/lib/libmkv.a \
54                    ../contrib/lib/libswscale.a
55 endif
56
57 CFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD -DHB_VERSION=\"$(HB_VERSION)\" -DHB_BUILD=$(HB_BUILD) $(SYSDEF)
58
59 CXXFLAGS += -I../contrib/include -D__LIBHB__ -DUSE_PTHREAD -DHB_VERSION=\"$(HB_VERSION)\" -DHB_BUILD=$(HB_BUILD) $(SYSDEF)
60
61 ifeq ($(SYSTEM),CYGWIN_NT-5.1)
62 all: libhb.a libhb.dll
63 else
64 all: libhb.a libhb.so
65
66 endif
67
68 libhb.a: $(OBJS)
69         @echo "Library $@"
70         @ar ru $@ $(OBJS)
71         @ranlib $@
72
73 libhb.so: $(OBJS)
74         @echo "Shared library $@"
75         @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS)  || \
76         ( echo "Compile line for $@ was:"; echo $$CMD; false )
77
78 libhb.dll: $(OBJS)
79         @echo "Shared library $@"
80         @g++ -o $@ $(OBJS) $(CONTRIBS) -shared $(CFLAGS)  || \
81         ( echo "Compile line for $@ was:"; echo $$CMD; false )
82
83 %.o: %.c
84         @echo "Cc $@"
85         echo $(CC) $(CFLAGS)
86         @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
87           ( echo "Compile line for $@ was:"; echo $$CMD; false )
88
89 %.o: %.cpp
90         @echo "Cc $@"
91         @CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
92         ( echo "Compile line for $@ was:"; echo $$CMD; false )
93
94         
95 clean:
96         @echo "Clean libhb.a"
97         @$(RM) libhb.*
98         @echo "Clean libhb.so"
99         @$(RM) libhb.so
100         @echo "Clean $(OBJS)"
101         @$(RM) $(OBJS)
102
103 .depend: $(SRCS)
104         @echo "Checking dependencies..."
105         @$(RM) .depend
106         @$(foreach SRC, $(SRCS), $(CC) -MM $(SRC) $(CFLAGS) >> .depend;)
107         
108 -include .depend
109