VfW: Enable weighted B prediction when max B-frames > 1. Enforce max reference frames...
[x262.git] / Jamfile
1 # $Id: Jamfile,v 1.1 2004/06/03 19:27:06 fenrir Exp $
2 #
3
4 # Compilers
5 CC = gcc ;
6 AS = nasm ;
7
8 # Flags
9 # To profile: -fprofile-arcs
10 # Once done : -fbranch-probabilities
11 CCFLAGS = -g -Wall -W ;
12
13 # Globals defines
14 DEFINES = DEBUG __X264__ ARCH_$(OSPLAT) SYS_$(OS) ;
15
16 # Optims
17 OPTIM = -O3 -funroll-loops ;
18
19 # Headers rep
20 HDRS = . common common/i386 decoder encoder ;
21
22 SOURCES_C = common/mc.c common/predict.c common/pixel.c common/macroblock.c
23             common/frame.c common/dct.c common/cpu.c common/cabac.c
24             common/common.c common/mdate.c common/csp.c
25             encoder/analyse.c encoder/me.c encoder/ratecontrol.c
26             encoder/set.c encoder/macroblock.c encoder/cabac.c encoder/cavlc.c
27             encoder/encoder.c encoder/eval.c ;
28
29 SOURCES_X86 = common/i386/cpu-a.asm ;
30 SOURCES_MMX = common/i386/mc-c.c common/i386/dct-c.c common/i386/predict.c common/i386/dct-a.asm common/i386/pixel-a.asm common/i386/mc-a.asm ;
31
32 SOURCES_ALTIVEC = common/ppc/mc.c common/ppc/pixel.c ;
33
34 # libx264
35 SOURCES_X264 = $(SOURCES_C) ;
36 if $(OSPLAT) = X86
37 {
38     DEFINES      += HAVE_MMXEXT HAVE_SSE2 ;
39     SOURCES_X264 += $(SOURCES_MMX) ;
40     SOURCES_X264 += $(SOURCES_X86) ;
41     ASFLAGS       = -f elf ;
42
43     if $(OS) != BEOS
44     {
45         DEFINES += HAVE_STDINT_H ;
46     }
47     if $(OS) != FREEBSD
48     {
49         DEFINES += HAVE_MALLOC_H ;
50     }
51
52     # Don't ask
53     NOARUPDATE = false ;
54 }
55 if $(OSPLAT) = PPC
56 {
57     DEFINES      += HAVE_STDINT_H ;
58     SOURCES_X264 += $(SOURCES_ALTIVEC) ;
59     OPTIM        += -falign-loops=16 ;
60
61     if $(OS) = MACOSX
62     {
63         CCFLAGS += -faltivec ;
64     }
65     if $(OS) = LINUX
66     {
67         CCFLAGS += -maltivec -mabi=altivec ;
68     }
69 }
70 Library libx264 : $(SOURCES_X264) ;
71
72 # x264
73 if $(OS) != BEOS
74 {
75     LINKLIBS += -lm ;
76 }
77 LinkLibraries x264 : libx264.a ;
78 Main x264 : x264.c ;
79
80 # checkasm
81 LinkLibraries checkasm : libx264.a ;
82 Main checkasm : testing/checkasm.c ;
83
84 # XXX Do not remove *.o files
85 actions quietly updated piecemeal together RmTemps
86 {
87 }