annotate mpcommon.mak @ 26489:925b2b7a1f34

dependency generation infrastructure for C++ files
author diego
date Thu, 24 Apr 2008 21:46:50 +0000
parents dc333dff8376
children 5d424c503f22
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22528
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
1 SRCS_COMMON += $(SRCS_COMMON-yes)
26484
dc333dff8376 Expand conditional addition of elements to variables with a form that permits
diego
parents: 26477
diff changeset
2 SRCS_COMMON += $(SRCS_COMMON-yes-yes)
22528
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
3 SRCS_MPLAYER += $(SRCS_MPLAYER-yes)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
4 SRCS_MENCODER += $(SRCS_MENCODER-yes)
21307
5fdf546b4e57 Move common code to mpcommon.mak.
diego
parents: 21303
diff changeset
5
22848
82f06c55cf97 Append objects derived from sources to OBJS_*. This way the OBJS_* variables
diego
parents: 22814
diff changeset
6 OBJS_COMMON += $(addsuffix .o, $(basename $(SRCS_COMMON)) )
82f06c55cf97 Append objects derived from sources to OBJS_*. This way the OBJS_* variables
diego
parents: 22814
diff changeset
7 OBJS_MPLAYER += $(addsuffix .o, $(basename $(SRCS_MPLAYER)) )
82f06c55cf97 Append objects derived from sources to OBJS_*. This way the OBJS_* variables
diego
parents: 22814
diff changeset
8 OBJS_MENCODER += $(addsuffix .o, $(basename $(SRCS_MENCODER)) )
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
9
23781
1955b4e60574 Revert include flag reordering, it does not fix the compilation problem.
diego
parents: 23773
diff changeset
10 CFLAGS += $(CFLAGS-yes) $(OPTFLAGS)
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
11
22528
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
12 LIBS-$(MPLAYER) += $(LIBNAME_MPLAYER)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
13 LIBS-$(MENCODER) += $(LIBNAME_MENCODER)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
14 LIBS = $(LIBNAME_COMMON) $(LIBS-yes)
21287
f423ce0a1c36 Move common code for generating multiple libraries to mpcommon.mak.
diego
parents: 21259
diff changeset
15
22526
cbf425ba6a96 Give the library generation target a more sensible name.
diego
parents: 22522
diff changeset
16 libs: $(LIBS)
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
17
22528
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
18 $(LIBNAME_COMMON): $(OBJS_COMMON)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
19 $(LIBNAME_MPLAYER): $(OBJS_MPLAYER)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
20 $(LIBNAME_MENCODER): $(OBJS_MENCODER)
8bcff5c7e387 Give more descriptive names to the source and library variables and split
diego
parents: 22526
diff changeset
21 $(LIBNAME_COMMON) $(LIBNAME_MPLAYER) $(LIBNAME_MENCODER):
21287
f423ce0a1c36 Move common code for generating multiple libraries to mpcommon.mak.
diego
parents: 21259
diff changeset
22 $(AR) r $@ $^
f423ce0a1c36 Move common code for generating multiple libraries to mpcommon.mak.
diego
parents: 21259
diff changeset
23 $(RANLIB) $@
f423ce0a1c36 Move common code for generating multiple libraries to mpcommon.mak.
diego
parents: 21259
diff changeset
24
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
25 clean::
26113
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
26 rm -f *.o *.a *.ho *~
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
27
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
28 distclean:: clean
26432
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
29 rm -f *.d .depend test test2
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
30
26430
a6a95779d80b Always generate dependency information. This also allows dropping the
diego
parents: 26412
diff changeset
31 .depend: $(SRCS_COMMON) $(SRCS_MPLAYER) $(SRCS_MENCODER)
a6a95779d80b Always generate dependency information. This also allows dropping the
diego
parents: 26412
diff changeset
32 $(MPDEPEND_CMD) > $@
21259
92b122592776 Merge common parts of all Makefiles into one file included by all.
diego
parents:
diff changeset
33
26432
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
34 %.d: %.c
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
35 $(MPDEPEND_CMD) > $@
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
36
26489
925b2b7a1f34 dependency generation infrastructure for C++ files
diego
parents: 26484
diff changeset
37 %.d: %.cpp
925b2b7a1f34 dependency generation infrastructure for C++ files
diego
parents: 26484
diff changeset
38 $(MPDEPEND_CMD_CXX) > $@
925b2b7a1f34 dependency generation infrastructure for C++ files
diego
parents: 26484
diff changeset
39
26113
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
40 %.ho: %.h
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
41 $(CC) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
42
26477
8c35fde6cdca Merge libvo/Makefile into top-level Makefile.
diego
parents: 26432
diff changeset
43 %.o: %.m
8c35fde6cdca Merge libvo/Makefile into top-level Makefile.
diego
parents: 26432
diff changeset
44 $(CC) $(CFLAGS) -c -o $@ $<
8c35fde6cdca Merge libvo/Makefile into top-level Makefile.
diego
parents: 26432
diff changeset
45
26113
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
46 ALLHEADERS = $(wildcard *.h)
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
47 checkheaders: $(ALLHEADERS:.h=.ho)
8ca532b5e704 Add checkheaders target, ported from FFmpeg.
diego
parents: 23781
diff changeset
48
26432
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
49 # Hack to keep .depend from being generated at the top level unnecessarily.
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
50 ifndef DEPS
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
51 DEPS = .depend
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
52 endif
7f5696224182 per-file dependencies (for the non-recursive parts)
diego
parents: 26430
diff changeset
53 -include $(DEPS)
22522
12b3d4c8b263 Mark phony targets as such.
diego
parents: 22317
diff changeset
54
26412
bd6f5e7c0d37 Declare all clean targets phony in mpcommon.mak.
diego
parents: 26316
diff changeset
55 .PHONY: libs *clean dep depend