2 # common bits used by all libraries
5 # first so "all" becomes default target
8 OBJS-
$(HAVE_MMX
) += $(MMX-OBJS-yes
)
11 FFLIBS
:= $(FFLIBS-yes
) $(FFLIBS
)
12 TESTPROGS
+= $(TESTPROGS-yes
)
14 FFEXTRALIBS
:= $(FFLIBS
:%=-l
%$(BUILDSUF
)) $(EXTRALIBS
)
15 FFLDFLAGS
:= $(ALLFFLIBS
:%=-Llib
%) $(LDFLAGS
)
17 EXAMPLES
:= $(EXAMPLES
:%=$(SUBDIR
)%-example
$(EXESUF
))
18 OBJS
:= $(sort $(OBJS
:%=$(SUBDIR
)%))
19 TESTOBJS
:= $(TESTOBJS
:%=$(SUBDIR
)%) $(TESTPROGS
:%=$(SUBDIR
)%-test.o
)
20 TESTPROGS
:= $(TESTPROGS
:%=$(SUBDIR
)%-test$(EXESUF
))
21 HOSTOBJS
:= $(HOSTPROGS
:%=$(SUBDIR
)%.o
)
22 HOSTPROGS
:= $(HOSTPROGS
:%=$(SUBDIR
)%$(HOSTEXESUF
))
24 TOOLOBJS
:= $(TOOLS
:%=tools
/%.o
)
25 TOOLS
:= $(TOOLS
:%=tools
/%$(EXESUF
))
27 DEP_LIBS
:= $(foreach NAME
,$(FFLIBS
),lib
$(NAME
)/$($(CONFIG_SHARED
:yes
=S
)LIBNAME
))
29 ALLHEADERS
:= $(subst $(SRC_DIR
)/,$(SUBDIR
),$(wildcard $(SRC_DIR
)/*.h
$(SRC_DIR
)/$(ARCH
)/*.h
))
30 SKIPHEADERS
+= $(ARCH_HEADERS
:%=$(ARCH
)/%) $(SKIPHEADERS-
)
31 SKIPHEADERS
:= $(SKIPHEADERS
:%=$(SUBDIR
)%)
32 checkheaders
: $(filter-out $(SKIPHEADERS
:.h
=.ho
),$(ALLHEADERS
:.h
=.ho
))
37 $(HOSTCC
) $(HOSTCFLAGS
) -c
-o
$@
$<
39 $(HOSTPROGS
): %$(HOSTEXESUF
): %.o
40 $(HOSTCC
) $(HOSTLDFLAGS
) -o
$@
$< $(HOSTLIBS
)
42 $(OBJS
): |
$(dir $(OBJS
))
43 $(HOSTOBJS
): |
$(dir $(HOSTOBJS
))
44 $(TESTOBJS
): |
$(dir $(TESTOBJS
))
47 OBJDIRS
:= $(OBJDIRS
) $(dir $(OBJS
) $(HOSTOBJS
) $(TESTOBJS
))
49 CLEANSUFFIXES
= *.d
*.o
*~
*.ho
*.map
*.ver
50 DISTCLEANSUFFIXES
= *.
pc
51 LIBSUFFIXES
= *.a
*.lib
*.so
*.so.
* *.dylib
*.dll
*.def
*.dll.a
*.exp
53 -include $(wildcard $(OBJS
:.o
=.d
) $(TESTOBJS
:.o
=.d
))