OLD | NEW |
1 SRC_DIR := $(SRC_PATH_BARE)/lib$(NAME) | 1 SRC_DIR := $(SRC_PATH_BARE)/lib$(NAME) |
2 | 2 |
3 include $(SUBDIR)../common.mak | 3 include $(SUBDIR)../common.mak |
4 | 4 |
5 LIBVERSION := $(lib$(NAME)_VERSION) | 5 LIBVERSION := $(lib$(NAME)_VERSION) |
6 LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR) | 6 LIBMAJOR := $(lib$(NAME)_VERSION_MAJOR) |
7 | 7 |
| 8 $(OBJS) $(SUBDIR)%.ho $(SUBDIR)%-test.o $(TESTOBJS): CPPFLAGS += -DHAVE_AV_CONFI
G_H |
| 9 |
8 ifdef CONFIG_STATIC | 10 ifdef CONFIG_STATIC |
9 all: $(SUBDIR)$(LIBNAME) | 11 all: $(SUBDIR)$(LIBNAME) |
10 | 12 |
11 install-libs: install-lib$(NAME)-static | 13 install-libs: install-lib$(NAME)-static |
12 | 14 |
13 $(SUBDIR)$(LIBNAME): $(OBJS) | 15 $(SUBDIR)$(LIBNAME): $(OBJS) |
14 » rm -f $@ | 16 » $(RM) $@ |
15 $(AR) rc $@ $^ $(EXTRAOBJS) | 17 $(AR) rc $@ $^ $(EXTRAOBJS) |
16 $(RANLIB) $@ | 18 $(RANLIB) $@ |
17 endif | 19 endif |
18 | 20 |
| 21 install-headers: install-lib$(NAME)-headers install-lib$(NAME)-pkgconfig |
| 22 |
19 INCINSTDIR := $(INCDIR)/lib$(NAME) | 23 INCINSTDIR := $(INCDIR)/lib$(NAME) |
20 | 24 |
21 THIS_LIB := $(SUBDIR)$($(CONFIG_SHARED:yes=S)LIBNAME) | 25 THIS_LIB := $(SUBDIR)$($(CONFIG_SHARED:yes=S)LIBNAME) |
22 | 26 |
23 define RULES | 27 define RULES |
24 $(SUBDIR)%$(EXESUF): $(SUBDIR)%.o | 28 $(SUBDIR)%$(EXESUF): $(SUBDIR)%.o |
25 » $(LD) $(FFLDFLAGS) -o $$@ $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS) | 29 » $$(LD) $(FFLDFLAGS) -o $$@ $$^ -l$(FULLNAME) $(FFEXTRALIBS) $$(ELIBS) |
26 | 30 |
27 $(SUBDIR)%-test.o: $(SUBDIR)%.c | 31 $(SUBDIR)%-test.o: $(SUBDIR)%.c |
28 » $(CC) $(CPPFLAGS) $(CFLAGS) -DTEST -c $$(CC_O) $$^ | 32 » $$(CC) $$(CPPFLAGS) $(CFLAGS) -DTEST -c $$(CC_O) $$^ |
29 | 33 |
30 $(SUBDIR)%-test.o: $(SUBDIR)%-test.c | 34 $(SUBDIR)%-test.o: $(SUBDIR)%-test.c |
31 » $(CC) $(CPPFLAGS) $(CFLAGS) -DTEST -c $$(CC_O) $$^ | 35 » $$(CC) $$(CPPFLAGS) $(CFLAGS) -DTEST -c $$(CC_O) $$^ |
32 | 36 |
33 $(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm | 37 $(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm |
34 » $(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$@ $$< > $$(@:.o=.d) | 38 » $$(YASMDEP) $(YASMFLAGS) -I $$(<D)/ -M -o $$@ $$< > $$(@:.o=.d) |
35 » $(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$< | 39 » $$(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$< |
36 | 40 |
37 clean:: | 41 clean:: |
38 » rm -f $(addprefix $(SUBDIR),*-example$(EXESUF) *-test$(EXESUF) $(CLEANFI
LES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ | 42 » $(RM) $(addprefix $(SUBDIR),*-example$(EXESUF) *-test$(EXESUF) $(CLEANFI
LES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ |
39 $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix
/$(suffix),$(DIRS)))) \ | 43 $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix
/$(suffix),$(DIRS)))) \ |
40 $(HOSTOBJS) $(HOSTPROGS) | 44 $(HOSTOBJS) $(HOSTPROGS) |
41 | 45 |
42 distclean:: clean | 46 distclean:: clean |
43 » rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \ | 47 » $(RM) $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \ |
44 $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsu
ffix /$(suffix),$(DIRS)))) | 48 $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsu
ffix /$(suffix),$(DIRS)))) |
45 | 49 |
46 ifdef CONFIG_SHARED | 50 ifdef CONFIG_SHARED |
47 all: $(SUBDIR)$(SLIBNAME) | 51 all: $(SUBDIR)$(SLIBNAME) |
48 | 52 |
49 install-libs: install-lib$(NAME)-shared | 53 install-libs: install-lib$(NAME)-shared |
50 | 54 |
51 $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) | 55 $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) |
52 » cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) | 56 » $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) |
53 | 57 |
54 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver | 58 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver |
55 $(SLIB_CREATE_DEF_CMD) | 59 $(SLIB_CREATE_DEF_CMD) |
56 » $(LD) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter %.o,$$^) $(FFEXTRALIBS) $
(EXTRAOBJS) | 60 » $$(LD) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter %.o,$$^) $(FFEXTRALIBS)
$(EXTRAOBJS) |
57 $(SLIB_EXTRA_CMD) | 61 $(SLIB_EXTRA_CMD) |
58 | 62 |
59 ifdef SUBDIR | 63 ifdef SUBDIR |
60 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(DEP_LIBS) | 64 $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(DEP_LIBS) |
61 endif | 65 endif |
62 endif | 66 endif |
63 | 67 |
64 install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME) | 68 install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME) |
65 » install -d "$(SHLIBDIR)" | 69 » $(Q)mkdir -p "$(SHLIBDIR)" |
66 » install -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | 70 » $$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" |
67 » $(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | 71 » $$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" |
68 » cd "$(SHLIBDIR)" && \ | 72 » $(Q)cd "$(SHLIBDIR)" && \ |
69 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) | 73 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) |
70 » cd "$(SHLIBDIR)" && \ | 74 » $(Q)cd "$(SHLIBDIR)" && \ |
71 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) | 75 $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) |
72 $(SLIB_INSTALL_EXTRA_CMD) | 76 $(SLIB_INSTALL_EXTRA_CMD) |
73 | 77 |
| 78 install-lib$(NAME)-static: MSG = $(LIBDIR)/$(LIBNAME) |
| 79 install-lib$(NAME)-shared: MSG = $(LIBDIR)/$(SLIBNAME) |
| 80 |
74 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME) | 81 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME) |
75 » install -d "$(LIBDIR)" | 82 » $(Q)mkdir -p "$(LIBDIR)" |
76 » install -m 644 $$< "$(LIBDIR)" | 83 » $$(INSTALL) -m 644 $$< "$(LIBDIR)" |
77 $(LIB_INSTALL_EXTRA_CMD) | 84 $(LIB_INSTALL_EXTRA_CMD) |
78 | 85 |
79 install-headers:: | 86 install-lib$(NAME)-headers: $(addprefix $(SUBDIR),$(HEADERS) $(BUILT_HEADERS)) |
80 » install -d "$(INCINSTDIR)" | 87 » $(Q)mkdir -p "$(INCINSTDIR)" |
81 » install -d "$(LIBDIR)/pkgconfig" | 88 » $$(INSTALL) -m 644 $$^ "$(INCINSTDIR)" |
82 » install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(INCINSTDIR)" | 89 |
83 ifdef BUILT_HEADERS | 90 install-lib$(NAME)-pkgconfig: $(SUBDIR)lib$(NAME).pc |
84 » install -m 644 $(addprefix $(SUBDIR),$(BUILT_HEADERS)) "$(INCINSTDIR)" | 91 » $(Q)mkdir -p "$(LIBDIR)/pkgconfig" |
85 endif | 92 » $$(INSTALL) -m 644 $$^ "$(LIBDIR)/pkgconfig" |
86 » install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconf
ig" | |
87 | 93 |
88 uninstall-libs:: | 94 uninstall-libs:: |
89 » -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ | 95 » -$(RM) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \ |
90 "$(SHLIBDIR)/$(SLIBNAME)" \ | 96 "$(SHLIBDIR)/$(SLIBNAME)" \ |
91 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" | 97 "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" |
92 -$(SLIB_UNINSTALL_EXTRA_CMD) | 98 -$(SLIB_UNINSTALL_EXTRA_CMD) |
93 » -rm -f "$(LIBDIR)/$(LIBNAME)" | 99 » -$(RM) "$(LIBDIR)/$(LIBNAME)" |
94 | 100 |
95 uninstall-headers:: | 101 uninstall-headers:: |
96 » rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS)) | 102 » $(RM) $(addprefix "$(INCINSTDIR)/",$(HEADERS)) |
97 » rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc" | 103 » $(RM) "$(LIBDIR)/pkgconfig/lib$(NAME).pc" |
98 -rmdir "$(INCDIR)" | 104 -rmdir "$(INCDIR)" |
99 endef | 105 endef |
100 | 106 |
101 $(eval $(RULES)) | 107 $(eval $(RULES)) |
102 | 108 |
103 $(EXAMPLES) $(TESTPROGS): $(THIS_LIB) $(DEP_LIBS) | 109 $(EXAMPLES) $(TESTPROGS): $(THIS_LIB) $(DEP_LIBS) |
104 | 110 |
105 examples: $(EXAMPLES) | 111 examples: $(EXAMPLES) |
106 testprogs: $(TESTPROGS) | 112 testprogs: $(TESTPROGS) |
OLD | NEW |