49199c1b23fb614960956580a0336d9b7e71ec6d
[x264/x264-sandbox.git] / Makefile
1 # Makefile: tuned for i386/MMX system only
2 # For ppc append
3 #  SRCS: core/ppc/mc.c core/ppc/pixel.c 
4 #  Defines: HAVE_PPC
5 #  CFLAGS: -faltivec
6 #
7 PFLAGS=-DARCH_X86 -DHAVE_MMXEXT -DHAVE_SSE2
8 CC=gcc
9 CFLAGS=-g -Wall -I. -DDEBUG -O4 -funroll-loops -D__X264__ -DHAVE_MALLOC_H $(PFLAGS)
10
11 SRCS=  core/mc.c core/predict.c core/pixel.c core/macroblock.c \
12        core/frame.c core/dct.c core/cpu.c core/cabac.c \
13        core/common.c core/mdate.c core/csp.c \
14        encoder/analyse.c encoder/me.c encoder/ratecontrol.c \
15        encoder/set.c encoder/macroblock.c encoder/cabac.c encoder/cavlc.c \
16        encoder/encoder.c \
17        core/i386/mc-c.c core/i386/dct-c.c core/i386/predict.c \
18        x264.c
19
20 AS= nasm
21 # for linux
22 ASFLAGS=-f elf $(PFLAGS)
23 # for cygwin
24 #ASFLAGS=-f gnuwin32 -DPREFIX
25
26 ASMSRC= core/i386/dct.asm core/i386/cpu.asm core/i386/pixel.asm  core/i386/mc.asm
27 OBJASM= $(ASMSRC:%.asm=%.o)
28
29 OBJS = $(SRCS:%.c=%.o)
30 DEP  = depend
31
32 default: $(DEP) x264
33
34 libx264.a: $(OBJS) $(OBJASM)
35         ar rc libx264.a $(OBJS) $(OBJASM)
36
37 x264: libx264.a x264.o
38         $(CC) $(CFLAGS) -o x264 x264.o libx264.a -lm
39
40 checkasm: testing/checkasm.c libx264.a
41         $(CC) $(CFLAGS) -o checkasm $< libx264.a -lm
42
43 %.o: %.asm
44         $(AS) $(ASFLAGS) -o $@ $<
45
46 .depend: $(SRCS) x264.c
47         $(CC) -MM $(CFLAGS) $(SRCS) x264.c 1> .depend
48
49 depend: .depend
50 ifneq ($(wildcard .depend),)
51 include .depend
52 endif
53
54 clean:
55         rm -f $(OBJS) $(OBJASM) *.a x264.o .depend x264
56
57 distclean:
58         rm -f $(OBJS) $(OBJASM) *.a x264.o .depend x264
59