This allows targets to include special objects when linking
executables without including them in (shared) libraries.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The Microsoft linker uses the LIB environment variable which
clashes with a make variable of the same name.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This makes sure proper linker arguments are used for the tools and
test programs when shared libraries are enabled. The tools are
linked using the usual -l flag while for test programs the full
name of the static library is used.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The test programs use internal symbols so cannot be linked against the
shared libs. Linking against both shared and static is pointless and
might do something strange depending on the linker. This changes the
dependencies so the test programs are linked only against the static
library for the component they belong to.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes. System library flags are already handled
by the filtering mechanism in configure.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Many compilers need special flags to compile *.h files as regular
source code, if they will do so at all. Rather than hoping all
compilers will have such a flag and adding mappings for it, create
wrapper .c files for test building single headers.
This allows using the regular rule for compiling C files without the
need for special flags, and it also provides proper dependency tracking
for these objects.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Folder and file names weren't being separated with a slash.
This resulted in .dll.a, .lib and .def files not being removed on uninstall.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Many of the test programs directly access internal symbols not
exported from the shared libraries. This allows tests to run
when configured with shared libraries.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This allows commands of the form "make foo.s", which is useful
for inspecting the compiler output for debugging purposes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This variable is set to the same value for all directories.
Adding the -L flags directly to LDFLAGS is simpler and achieves
the same thing.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Declaring tools associated with each library in their respective
makefiles allows these tools to easily depend on the correct
prerequisites and link against the libs they need.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Setting SRC_PATH to "." when building in-tree removes the need
for a quoted version of the source path since out-of-tree builds
are not possible if the pathname contains spaces.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Stripping is generally best left to package management tools, and
since unstripped copies are kept in the build tree, any arguments
about saving space (no matter how insignificant) are void.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Test programs may be named either %.c or %-test.c. In some cases (ie. fft),
both files exist and make has to choose which rule to use. Up to gnu make
3.81, rules were applied in definition order, in this case favouring the
generic %.c rule from common.mak. gnu make 3.82 uses a shortest stem first
order, applying definition order for same length stems. In this case,
%-test.c must come first in order for make to pick the proper source file.
Originally committed as revision 25918 to svn://svn.ffmpeg.org/ffmpeg/trunk
This gives brief messages from make by default. For full command
echoing, add V=1 to make command line.
Originally committed as revision 22244 to svn://svn.ffmpeg.org/ffmpeg/trunk