Commit Graph

55 Commits

Author SHA1 Message Date
Martin Storsjö
8ecdcc7172 Add a make option for silencing the commands run
Add "V=No" to the make command to silence the make output.

This makes it easier to spot warnings or other unexpected messages
in the build output.
2014-01-30 13:56:19 +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
Ethan Hugg
977768ac88 Merge pull request #222 from mstorsjo/enable-threading
Enable threading when building for most platforms
2014-01-27 14:50:13 -08:00
Ethan Hugg
00a76419b4 Merge pull request #237 from mstorsjo/simplify-make-lib-rules
Simplify the make rules for creating libraries
2014-01-27 14:09:20 -08:00
Martin Storsjö
d36939580a Removed an unused pair of files generated by MSVC project wizards
These files aren't actually even referenced by the MSVC project
files.
2014-01-27 22:55:33 +02:00
Ethan Hugg
2a55578a98 Merge pull request #208 from mstorsjo/remove-unused-mk-field
Remove an unnecessary field from generated makefiles
2014-01-27 08:55:23 -08:00
Martin Storsjö
ea8a00278f Simplify the make rules for creating libraries 2014-01-27 14:45:18 +02:00
Martin Storsjö
8062596d23 Fix building threading for freebsd
FreeBSD (and at least NetBSD as well) still use hw.ncpu without
deprecating it, contrary to apple.
2014-01-26 10:40:24 +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ö
a239637be5 Fix building for freebsd in 64 bit mode 2014-01-26 10:21:56 +02:00
Martin Storsjö
253c2c84b3 Do chdir within mktargets.py
This simplifies the calling shell script.
2014-01-24 15:09:11 +02:00
Martin Storsjö
7df69c1482 Remove an unnecessary field from generated makefiles 2014-01-24 15:02:40 +02:00
Martin Storsjö
8a932fbe85 Remove excludes of nonexistent files 2014-01-23 22:55:36 +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ö
797a19e367 Define MACOS when building for OS X
The library uses this define to enable OS X specific functionality
in general, even if none of those snippets actually have been
strictly required so far.
2014-01-21 21:17:59 +02:00
Ethan Hugg
b6dcd94cb0 Merge pull request #180 from mstorsjo/remove-disabled-bundle-loading
Remove disabled/broken/unused code for bundle loading in the console tools
2014-01-21 10:30:28 -08:00
Martin Storsjö
35ad8cb3a5 Remove an exclude of an nonexistent file 2014-01-21 14:59:41 +02:00
Martin Storsjö
41928236e4 Remove unused files about macos bundle loading from the console tools 2014-01-21 14:59:41 +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
Varun B Patil
2d83e4561a Don't execute mktargets.py if cannot cd into correct directory 2014-01-20 21:52:36 +05:30
Varun B Patil
d78906aa21 Cleanup mktargets.py
1.Remove semicolons
2.close file
2014-01-19 21:39:20 +05:30
Ethan Hugg
00e9293433 Update msvc options from VS projects. 2014-01-17 12:56:15 -08:00
Martin Storsjö
b38976944a Regenerate gtest-targets.mk using mktargets.sh/py
This simplifies updating all makefiles consistently.
2014-01-17 18:53:17 +02:00
Martin Storsjö
a8d549e343 Omit assembler source rules if no asm sources are found 2014-01-17 18:52:46 +02:00
Martin Storsjö
7f6cdb516d Add platform files for msvc and msvc-arm
Build with "make UNAME=msvc" to invoke this.
2014-01-17 12:06:12 +02:00
Martin Storsjö
b842ff30e5 Make the compiler/ar/linker file output parameters overrideable
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02:00
Varun B Patil
a00b0ca79b simplify gtest makefile 2014-01-16 23:33:20 +05:30
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
EKR
b7a5d70212 don't choke on deprecated sha-1 routines 2014-01-09 10:36:12 -08:00
Ethan Hugg
f85911e331 Merge pull request #117 from mstorsjo/make-patterns
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 09:48:31 -08:00
Martin Storsjö
488fb7bb20 Add proper dependencies for the command line binaries
This makes sure that all the dependency libs are built before trying
to link them together, fixing parallel make (which occasionally
failed due to trying to link the encoder or decoder command line
binaries before the libs had been built) and also fixes building an
individual component by e.g. "make h264enc".
2014-01-08 16:36:11 +02:00
Martin Storsjö
80669ed059 Use make patterns to avoid needing autogenerated rules for each source file 2014-01-08 16:33:35 +02:00
Ethan Hugg
319ae0253b Merge pull request #98 from mstorsjo/trailing-whitespace-platform
Get rid of trailing whitespace in the platform makefiles
2014-01-06 09:35:24 -08:00
Martin Storsjö
0ad7c4c9b6 Get rid of trailing whitespace in the platform makefiles 2014-01-05 14:48:52 +02:00
Martin Storsjö
12d7f72eec Mark the mktargets shell/python scripts executable 2014-01-05 14:43:53 +02:00
volvet
8a7a15ff30 fix merge conflict 2014-01-04 08:20:56 +08:00
volvet
2c828d7918 merge VS2012 makefile for 64bits assembly 2014-01-03 16:12:47 +08:00
volvet
ec84f4bcc9 resolve conflict 2014-01-03 14:49:45 +08: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
Ethan Hugg
71e48218c4 Merge pull request #63 from mstorsjo/crossbuild
Use $(AR) instead of explicitly calling 'ar'
2013-12-27 08:23:06 -08:00
V
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01:00
Ethan Hugg
77fde5c9bc Turn on -Werror for OSX builds 2013-12-19 17:05:30 -08:00
Ethan Hugg
b2066e1dc2 Move -Werror to platform file. Also, %zu can't be used on Windows. 2013-12-19 11:27:05 -08:00
Martin Storsjö
785ac16d28 Use $(AR) instead of explicitly calling 'ar'
This simplifies overriding the command used, e.g. for cross
compilation.
2013-12-17 12:29:21 +02:00
Ethan Hugg
5d616714c4 Merge pull request #54 from rmuch/freebsd-build
Add FreeBSD platform makefile
2013-12-16 09:37:11 -08:00
Martin Storsjö
f1cfd1e28a Don't link to libdl when building with NO_DYNAMIC_VP defined 2013-12-16 09:35:03 +02:00
Rupert Muchembled
51c121f947 Add FreeBSD platform makefile
Add platform-freebsd.mk makefile to allow building on FreeBSD.

OpenH264 builds and runs successfully on FreeBSD 9.2-RELEASE amd64, with both
the gcc and clang compilers.

Note that building i386 binaries with the native toolchain using the -m32 flag
on amd64 FreeBSD is unsupported and will not work, so ENABLE64BIT should always
be set to Yes when compiling on a FreeBSD amd64 system.
2013-12-16 07:10:26 +00:00
Licai Guo
ac6828f4fa Enable 64-bit build on Linux & Mac 2013-12-14 20:37:33 -08:00
Martin Storsjö
f9dea46712 Remove trailing whitespace
Most of it was removed in ff6b669176 from C++ source files,
but other files were left unchanged.
2013-12-13 11:24:17 +02:00
Ethan Hugg
ff6b669176 Pretty printed the C++ code with astyle 2013-12-12 14:21:12 -08:00