Mercurial > mplayer.hg
annotate subdir.mak @ 29671:3f5e7b22b2a6
sync with FFmpeg build: BUILD_STATIC --> CONFIG_STATIC
author | diego |
---|---|
date | Thu, 24 Sep 2009 09:47:36 +0000 |
parents | cfdba9b5abba |
children | bc094de7968e |
rev | line source |
---|---|
26315 | 1 SRC_DIR := $(SRC_PATH_BARE)/lib$(NAME) |
2 | |
3 include $(SUBDIR)../common.mak | |
4 | |
5 LIBVERSION := $(lib$(NAME)_VERSION) | |
6 LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR) | |
7 | |
29671
3f5e7b22b2a6
sync with FFmpeg build: BUILD_STATIC --> CONFIG_STATIC
diego
parents:
29136
diff
changeset
|
8 ifeq ($(CONFIG_STATIC),yes) |
26315 | 9 all: $(SUBDIR)$(LIBNAME) |
10 | |
11 install-libs: install-lib$(NAME)-static | |
12 | |
13 $(SUBDIR)$(LIBNAME): $(OBJS) | |
14 rm -f $@ | |
15 $(AR) rc $@ $^ $(EXTRAOBJS) | |
16 $(RANLIB) $@ | |
17 endif | |
18 | |
19 INCINSTDIR := $(INCDIR)/lib$(NAME) | |
20 | |
29671
3f5e7b22b2a6
sync with FFmpeg build: BUILD_STATIC --> CONFIG_STATIC
diego
parents:
29136
diff
changeset
|
21 THIS_LIB := $(SUBDIR)$($(CONFIG_SHARED:yes=S)LIBNAME) |
29136 | 22 |
26315 | 23 define RULES |
29136 | 24 $(SUBDIR)%$(EXESUF): $(SUBDIR)%.o |
25 $(CC) $(FFLDFLAGS) -o $$@ $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS) | |
26 | |
27 $(SUBDIR)%-test.o: $(SUBDIR)%.c | |
28 $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ | |
29 | |
30 $(SUBDIR)%-test.o: $(SUBDIR)%-test.c | |
31 $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ | |
32 | |
33 $(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm | |
34 $(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$< | |
35 | |
36 $(SUBDIR)x86/%.d: $(SUBDIR)x86/%.asm | |
37 $(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$(@:%.d=%.o) $$< > $$@ | |
38 | |
39 clean:: | |
40 rm -f $(EXAMPLES) $(addprefix $(SUBDIR),*-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ | |
41 $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) | |
42 | |
43 distclean:: clean | |
44 rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \ | |
45 $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) | |
46 | |
29671
3f5e7b22b2a6
sync with FFmpeg build: BUILD_STATIC --> CONFIG_STATIC
diego
parents:
29136
diff
changeset
|
47 ifdef CONFIG_SHARED |
26315 | 48 all: $(SUBDIR)$(SLIBNAME) |
49 | |
50 install-libs: install-lib$(NAME)-shared | |
51 | |
52 $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) | |
53 cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) | |
54 | |
55 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) | |
56 $(SLIB_CREATE_DEF_CMD) | |
28143 | 57 $(CC) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter-out $(DEP_LIBS),$$^) $(FFEXTRALIBS) $(EXTRAOBJS) |
26315 | 58 $(SLIB_EXTRA_CMD) |
59 | |
26317 | 60 ifdef SUBDIR |
26403 | 61 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(DEP_LIBS) |
26315 | 62 endif |
63 endif | |
64 | |
65 install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME) | |
66 install -d "$(SHLIBDIR)" | |
29136 | 67 install -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" |
26315 | 68 $(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" |
69 cd "$(SHLIBDIR)" && \ | |
70 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) | |
71 cd "$(SHLIBDIR)" && \ | |
72 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) | |
73 $(SLIB_INSTALL_EXTRA_CMD) | |
74 | |
75 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME) | |
76 install -d "$(LIBDIR)" | |
29136 | 77 install -m 644 $$< "$(LIBDIR)" |
26315 | 78 $(LIB_INSTALL_EXTRA_CMD) |
79 | |
80 install-headers:: | |
81 install -d "$(INCINSTDIR)" | |
82 install -d "$(LIBDIR)/pkgconfig" | |
83 install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)" | |
27999 | 84 install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconfig" |
26315 | 85 |
86 uninstall-libs:: | |
87 -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ | |
88 "$(SHLIBDIR)/$(SLIBNAME)" \ | |
89 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | |
90 -$(SLIB_UNINSTALL_EXTRA_CMD) | |
91 -rm -f "$(LIBDIR)/$(LIBNAME)" | |
92 | |
93 uninstall-headers:: | |
94 rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS)) | |
95 rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc" | |
96 -rmdir "$(INCDIR)" | |
97 endef | |
98 | |
99 $(eval $(RULES)) | |
29136 | 100 |
101 $(EXAMPLES) $(TESTPROGS): $(THIS_LIB) $(DEP_LIBS) | |
102 | |
103 examples: $(EXAMPLES) | |
104 testprogs: $(TESTPROGS) |