Makefile 2.1 KB
Newer Older
1
#
F
merge  
Fabrice Bellard 已提交
2
# Main ffmpeg Makefile
3
# (c) 2000, 2001, 2002 Fabrice Bellard
F
merge  
Fabrice Bellard 已提交
4
#
5
include config.mak
F
merge  
Fabrice Bellard 已提交
6

7 8
VPATH=$(SRC_PATH)

9
CFLAGS= $(OPTFLAGS) -Wall -g -I. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libav -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
10 11
ifeq ($(CONFIG_DARWIN),yes)
LDFLAGS+= -g -d
12
FFSLDFLAGS= -Wl,-bind_at_load
13
else
14
LDFLAGS+= -g -Wl,--warn-common
15
FFSLDFLAGS= -Wl,-E
16
endif
17

18
ifeq ($(TARGET_GPROF),yes)
F
merge  
Fabrice Bellard 已提交
19 20 21 22
CFLAGS+=-p
LDFLAGS+=-p
endif

23 24 25 26 27
ifeq ($(CONFIG_WIN32),yes)
EXE=.exe
PROG=ffmpeg$(EXE)
else
EXT=
F
Fabrice Bellard 已提交
28
PROG=ffmpeg ffplay ffserver
29
endif
F
merge  
Fabrice Bellard 已提交
30

31

N
Nick Kurshev 已提交
32
ifeq ($(BUILD_SHARED),yes)
33
DEP_LIBS=libavcodec/libavcodec.so libav/libavformat.a
N
Nick Kurshev 已提交
34
else
35
DEP_LIBS=libavcodec/libavcodec.a libav/libavformat.a
36 37 38
ifeq ($(CONFIG_MP3LAME),yes)
EXTRALIBS+=-lmp3lame
endif
39 40 41
ifeq ($(CONFIG_VORBIS),yes)
EXTRALIBS+=-logg -lvorbis -lvorbisenc
endif
N
Nick Kurshev 已提交
42 43
endif

Z
Zdenek Kabelac 已提交
44 45 46
OBJS = ffmpeg.o ffserver.o
SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s)

F
merge  
Fabrice Bellard 已提交
47 48 49
all: lib $(PROG)

lib:
F
Fabrice Bellard 已提交
50 51
	$(MAKE) -C libavcodec all
	$(MAKE) -C libav all
F
merge  
Fabrice Bellard 已提交
52

53
ffmpeg_g$(EXE): ffmpeg.o $(DEP_LIBS)
54 55
	$(CC) $(LDFLAGS) -o $@ ffmpeg.o -L./libavcodec -L./libav \
              -lavformat -lavcodec $(EXTRALIBS)
F
merge  
Fabrice Bellard 已提交
56

57
ffmpeg$(EXE): ffmpeg_g$(EXE)
M
-p  
Michael Niedermayer 已提交
58
	cp -p $< $@ ; $(STRIP) $@
59

60
ffserver$(EXE): ffserver.o $(DEP_LIBS)
61 62
	$(CC) $(LDFLAGS) $(FFSLDFLAGS) \
		-o $@ ffserver.o -L./libavcodec -L./libav \
63
              -lavformat -lavcodec -ldl $(EXTRALIBS) 
F
merge  
Fabrice Bellard 已提交
64

F
Fabrice Bellard 已提交
65 66 67
ffplay: ffmpeg$(EXE)
	ln -sf $< $@

F
merge  
Fabrice Bellard 已提交
68
%.o: %.c
69
	$(CC) $(CFLAGS) -c -o $@ $< 
F
merge  
Fabrice Bellard 已提交
70 71

install: all
N
Nick Kurshev 已提交
72
	$(MAKE) -C libavcodec install
73
	install -d $(prefix)/bin
74
	install -s -m 755 $(PROG) $(prefix)/bin
F
Fabrice Bellard 已提交
75
	ln -sf ffmpeg $(prefix)/bin/ffplay 
F
merge  
Fabrice Bellard 已提交
76

77 78 79 80
installlib:
	$(MAKE) -C libavcodec installlib
	$(MAKE) -C libav installlib

Z
Zdenek Kabelac 已提交
81 82 83 84 85
dep:	depend

depend:
	$(CC) -MM $(CFLAGS) $(SRCS) 1>.depend

F
merge  
Fabrice Bellard 已提交
86
clean: 
F
Fabrice Bellard 已提交
87 88
	$(MAKE) -C libavcodec clean
	$(MAKE) -C libav clean
89
	$(MAKE) -C tests clean
90
	rm -f *.o *~ .depend gmon.out TAGS ffmpeg_g$(EXE) $(PROG) 
F
merge  
Fabrice Bellard 已提交
91 92

distclean: clean
F
Fabrice Bellard 已提交
93
	$(MAKE) -C libavcodec distclean
94
	rm -f config.mak config.h
F
merge  
Fabrice Bellard 已提交
95 96 97

TAGS:
	etags *.[ch] libav/*.[ch] libavcodec/*.[ch]
Z
Zdenek Kabelac 已提交
98

99 100
# regression tests

F
Fabrice Bellard 已提交
101
libavtest test mpeg4 mpeg: ffmpeg$(EXE)
102 103
	make -C tests $@

Z
Zdenek Kabelac 已提交
104 105 106
ifneq ($(wildcard .depend),)
include .depend
endif