1 # Makefile: tuned for i386/MMX system only
3 # For FreeBSD, remove -DHAVE_MALLOC_H and add -DSYS_FREEBSD
5 # Uncomment this for Mac OS X
8 SRCS_COMMON= common/mc.c common/predict.c common/pixel.c common/macroblock.c \
9 common/frame.c common/dct.c common/cpu.c common/cabac.c \
10 common/common.c common/mdate.c common/csp.c \
11 encoder/analyse.c encoder/me.c encoder/ratecontrol.c \
12 encoder/set.c encoder/macroblock.c encoder/cabac.c \
13 encoder/cavlc.c encoder/encoder.c encoder/eval.c x264.c
16 PFLAGS=-DARCH_PPC -DSYS_MACOSX -faltivec
17 SRCS= $(SRCS_COMMON) common/ppc/mc.c common/ppc/pixel.c
19 PFLAGS=-DARCH_X86 -DHAVE_MMXEXT -DHAVE_SSE2 -DHAVE_MALLOC_H
20 SRCS= $(SRCS_COMMON) common/i386/mc-c.c common/i386/dct-c.c common/i386/predict.c
21 ASMSRC= common/i386/dct-a.asm common/i386/cpu-a.asm common/i386/pixel-a.asm common/i386/mc-a.asm
22 OBJASM= $(ASMSRC:%.asm=%.o)
26 CFLAGS=-g -Wall -I. -DDEBUG -O4 -funroll-loops -D__X264__ $(PFLAGS)
30 ASFLAGS=-f elf $(PFLAGS)
32 #ASFLAGS=-f gnuwin32 -DPREFIX
34 OBJS = $(SRCS:%.c=%.o)
39 libx264.a: $(OBJS) $(OBJASM)
40 ar rc libx264.a $(OBJS) $(OBJASM)
43 x264: libx264.a x264.o
44 $(CC) $(CFLAGS) -o x264 x264.o libx264.a -lm
46 checkasm: testing/checkasm.c libx264.a
47 $(CC) $(CFLAGS) -o checkasm $< libx264.a -lm
50 $(AS) $(ASFLAGS) -o $@ $<
52 .depend: $(SRCS) x264.c
54 $(foreach SRC, $(SRCS) x264.c, $(CC) $(CFLAGS) $(SRC) -MM -MT $(SRC:%.c=%.o) 1>> .depend;)
57 ifneq ($(wildcard .depend),)
62 rm -f $(OBJS) $(OBJASM) *.a x264.o .depend x264 TAGS