This makes sure both "make libopenh264.so" and "make libopenh264.so.0"
work as intended.
Use the versionless name as dependency for the install rule,
to make sure both (if possible) are created.
This feels more straightforward - some file systems/environments
(such as MSys) implement symlinks as plain file copies, where
distinguishing whether a file is a link might be hard.
Prior to 3f69873c99, there already was a mechanism for installing
the import library, used for the MSVC builds. Use that for mingw
as well, instead of adding more hardcoded rules.
The codec seems to work without executable stack memory, and in general
executable stacks should be avoided if possible, but the assembler used
for the .asm source files requests it. This commit adds a linker option
to override that.
Previously the makefile didn't know that there was any dependency between
compiling welsDecoderExt.o and welsEncoderExt.o and the regeneration
of the version.h header. This meant that in parallel builds (make -jX),
make could try to regenerate version.h while compiling welsDecoderExt.o
and welsEncoderExt.o, which would lead to errors about version.h not
existing.
Also add some spacing around the makefile rules.
This fixes parallel make building in certain cases.
This allows building two versions for different architectures at
the same time, without the built files clobbering each other.
This is very helpful when trying to track down differences between
two build configurations.
To build outside of the source tree, create the other directory to
use for building (either outside of the openh264 directory, or as
a subdirectory), enter that directory, and do
"make -f path/to/openh264/Makefile".
If the android test projects hasn't been built yet, the "make clean"
command will stop at "ant clean" (which fails since build.xml doesn't
exist yet). If this happens, one still would want to run the "make
clean" command to the end, cleaning up any possible intermediate object
files (e.g. from a build for a different platform).
This makes it easier for platform specific makefiles to add
things to some of them. (build/platform-android.mk already does this
for a few submodules, e.g. GTEST_INCLUDES and CODEC_UNITTEST_INCLUDES
already use +=.)
This matches the common naming scheme more closely for adding extra
flags to individual parts of the build.
Also deduplicate the static stlport lib name.