Commit Graph

14 Commits

Author SHA1 Message Date
Martin Storsjö
27499895f7 Support building outside of the source tree
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".
2014-07-15 20:40:51 +03:00
Martin Storsjö
4635232d93 Don't manually define WIN32/WIN64
All the code that relies on separating them uses the built-in defines
_WIN32 and _WIN64, or the corresponding machine defines (such as
_M_IX86, for MSVC 32 bit inline assembly).
2014-05-09 19:34:04 +03:00
volvet
9f50e0c91e clean multi-threading macro 2014-03-31 18:24:10 -07:00
Martin Storsjö
70360cb11e Move the ASM variable declaration into the x86-common file 2014-02-28 10:22:19 +02:00
Licai Guo
d058176c3b add android support, single commit 2014-02-18 17:54:27 -08:00
Martin Storsjö
d262129e92 Set CC wherever we set CXX 2014-02-12 22:12:33 +02:00
Martin Storsjö
a164436d98 Automatically track per-file dependencies
This is enabled for platforms/compilers that support the -MMD
option, which creates a dependency file named out.d when compiling
to a file named out.o, only including local, not system headers.

The additional -MP option adds phony targets for all included
headers, to avoid having make error out due to "no rule to make
target foo.h" if a header is renamed/removed.

This makes sure that all the right files are rebuilt if a header
is changed, avoiding the need for a full rebuild if only a few
files are affected.
2014-01-28 08:15:45 +02:00
Martin Storsjö
b9f04e0db8 Enable threading when building for most platforms
Don't enable threading globally since the MSVC/ARM build target
(neither windows phone nor windows rt) doesn't support the normal
windows threading functions.
2014-01-26 10:34:53 +02:00
Martin Storsjö
3cacaf85f1 Include the executable suffix within make
This makes sure that e.g. "make clean" actually removes
the built exe files, and avoids relinking the exe files each
time make is run when cross compiling from linux to windows.

(Make on windows seems to have an exception that knows to skip
rebuilding the 'h264enc' target if 'h264enc' doesn't exist but
'h264enc.exe' does, but this exception doesn't work on normal
unix make.)
2014-01-23 16:15:22 +02:00
Martin Storsjö
5cb3fc93e0 Remove the __NO_CTYPE define
Nothing within the project uses it, and it's not necessary to
build the project either, tested on both linux and mingw.
2014-01-21 12:48:33 +02:00
Martin Storsjö
ba38dc77a5 Add support for 64 bit mingw in the makefiles
By setting an overridable variable in the main makefile, we avoid
having to move the default -DUNIX64 into each of the other unix
platform makefiles, but still allowing the mingw platform to
override it.
2014-01-10 19:01:22 +02:00
Martin Storsjö
0ad7c4c9b6 Get rid of trailing whitespace in the platform makefiles 2014-01-05 14:48:52 +02:00
unknown
1e5a290855 1. fix gcc 3.4 link error.
2. fix mingw build issue when enable asm
2014-01-02 17:19:25 +08:00
V
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01:00