Commit Graph

189 Commits

Author SHA1 Message Date
Diego Biurrun 3dfbf32b95 build: Drop redundant removal of compiled object files
This is already taken care of by CLEANSUFFIXES.
2016-03-24 19:17:23 +01:00
Sean McGovern c1aac39eac build: add Solaris symbol versioning
The versioning facility in the Solaris linker differs from Linux in 3 ways:

1. It does not support globs in linker scripts for
symbol versioning -- this is a GNU extension.

2. The linker argument is '-M', instead of '--version-script'.

3. It is picky about line endings.
Each symbol or directive must be on a line of it's own.

Let's use make_sunver.pl from GCC to generate a version script that works
correctly with the Solaris linker. It's function is to correctly expand the
globs in the original generated version script.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-11 15:42:36 +02:00
Luca Barbato 3ae0e721c7 checkasm: Always link statically
Checkasm needs to use internal symbols that should not be made public.
2015-07-21 23:22:42 +02:00
Janne Grunau afe1762654 build: export library dependencies in ${name}_FFLIBS
Removes an ugly $(if) to avoid conflicts with $(FFLIBS-) in the
top-level MAkefile.
2014-05-20 00:43:51 +02:00
Janne Grunau 7e90133f64 build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Avoids including disabled library Makefiles.
2014-05-14 09:46:43 +02:00
Janne Grunau 449511740f build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2014-05-13 20:02:01 +02:00
Diego Biurrun b339182eba Move all example programs to doc/examples
Also drop support for building examples in library directories.
2014-02-16 21:37:21 +01:00
Diego Biurrun ad47771024 build: Add shorthand for HOSTCC compile macro 2013-12-02 13:13:09 +01:00
Diego Biurrun e8fcdebb17 build: Allow specifying extra object files when linking HOSTPROGS 2013-11-15 01:29:47 +01:00
Diego Biurrun 47b6cfc2a0 avformat/output-example: Declare link dependency on libswscale in the Makefile 2013-10-03 23:23:04 +02:00
Reinhard Tartler a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Diego Biurrun 7c22d0489f build: Move setting of SRC_DIR to the only place it is used 2013-03-27 14:49:13 +01:00
Diego Biurrun 8a11ce43d0 build: Ensure that output directories for header objects are created 2013-02-20 00:45:30 +01:00
Mans Rullgard 395c3feb3b build: fix 'clean' target
This fixes removal of TOOLS as well as HOSTPROGS declared in the
top-level Makefile.  The clean target in common.mak needs to be
eval'd since the variables used within are reset for each library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 17:23:53 +00:00
Martin Storsjö 121604b024 build: Include HEADERS-yes in the HEADERS variable
This makes sure the previously always installed public header
lzo.h is installed if the LZO functionality is enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-25 18:36:11 +03:00
Mans Rullgard 1c9d54b468 build: Properly remove object files while cleaning
Previously, object files in, for example, compat/ were left
after a clean or distclean was run.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:44:05 -04:00
Mans Rullgard 8db73c61a7 build: allow non-standard variations of linker -l/-L flags
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>
2012-08-29 14:16:54 +01:00
Mans Rullgard 095792f253 build: add separate setting for host linker
This adds new HOSTLD and related settings for host linker allowing
it to be different from HOSTCC.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Diego Biurrun 8f7c26e392 build: Use portable abstraction for linker/hostcc output file syntax 2012-08-27 20:37:48 +02:00
Mans Rullgard dfd9159f3d build: change checkheaders to use regular build rules
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>
2012-08-07 21:36:51 +01:00
Mans Rullgard b9d3c37848 build: use COMPILE template for HOSTOBJS
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:59 +01:00
Diego Biurrun b5a3c6038d build: Drop leftover .exp pattern from LIBSUFFIXES list. 2012-05-05 16:32:56 +02:00
Diego Biurrun 7bb3a302fe build: Consistently handle conditional compilation for all optimization OBJS. 2012-04-12 09:00:49 +02:00
Mans Rullgard ca9036155d build: remove unnecessary FFLDFLAGS variable
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>
2011-07-11 11:39:04 +01:00
Diego Biurrun 3e5cce81e7 build: remove duplicates from order-only directory prerequisite list
This reduces startup latency for make invocations, which is especially
noticeable on systems that are slow or have slow I/O, like Windows.
2011-07-10 22:16:21 +02:00
Mans Rullgard 28e1c97916 build: rework rules for things in the tools dir
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>
2011-07-10 21:13:38 +01:00
Mans Rullgard 5e27ec28f0 build: create output directories as needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-29 09:14:56 +01:00
Mans Rullgard deb3ed01b5 build: replace some addprefix/addsuffix with substitution refs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-28 15:59:27 +01:00
Mans Rullgard bb5249244d build: move basic rules and variables to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:17:08 +01:00
Mans Rullgard 8d853efe53 build: move special targets to end of main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:16:53 +01:00
Mans Rullgard d530e57944 build: move vpath directives to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 19:53:53 +01:00
Mans Rullgard cf53c48615 build: move ALLFFLIBS to a more logical place
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 10:59:56 +01:00
Mans Rullgard b9c6c7cb25 build: remove empty $(OBJS) target
This target was added to prevent some files being deleted
by make when using chains of implicit rules.  This is no
longer required.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-07 01:28:40 +01:00
Mans Rullgard 0018b7f043 build: clean up .PHONY lists
This removes nonexisting targets from phony lists and puts them
all in one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Mans Rullgard d7a72d250b build: move all (un)install* target aliases to toplevel Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Mans Rullgard 171ae1eb0d build: remove stale dependency
This dependency is implicitly covered elsewhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 15:52:23 +01:00
Mans Rullgard 5eaba041a0 build: do not add CFLAGS-yes to CFLAGS
CFLAGS-yes is never set so this serves no purpose.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 15:48:44 +01:00
Mans Rullgard 798b264678 build: remove BUILD_ROOT variable
This variable is unnecessary as absolute paths are not required.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-29 12:36:16 +01:00
Mans Rullgard 2f97b12eaf Include dependencies for test programs
This makes sure the various *-test programs are correctly rebuilt
when necessary.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-31 12:01:27 +01:00
Mans Rullgard e0be794a71 Remove support for stripping executables
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>
2011-03-29 22:05:04 +01:00
Reinhard Tartler 737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Måns Rullgård 55127e7b49 Create config.asm for use with yasm
Originally committed as revision 25039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-03 21:27:19 +00:00
Diego Biurrun 6fa5a91b14 Remove dep/depend targets and related variables.
We no longer create dependency files directly, so the rules are now pointless.

Originally committed as revision 24807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 15:02:33 +00:00
Stefano Sabatini aac6ca6978 Add libavcore.
The new library is meant to contain the core multimedia utilities for
FFmpeg, to make them shareable between more libav* libraries.

See thread:
Subject: [FFmpeg-devel] [RFC] New library for shared non-generic libav* utils
Date: Fri, 9 Jul 2010 01:07:40 +0200

Originally committed as revision 24393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 18:28:42 +00:00
Måns Rullgård 11d788cade Stop make complaining about moved/deleted headers
Originally committed as revision 24041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 18:33:37 +00:00
Måns Rullgård 7f02d3570a Add -I flags to HOSTCFLAGS
Originally committed as revision 23805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 20:28:40 +00:00
Måns Rullgård bf9aa44bf4 Fix brief make messages when CC etc are specified on command line
Originally committed as revision 23792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 10:03:30 +00:00
Måns Rullgård de5aba8cca Make ranlib silent in brief output mode
Running ranlib is quick and uninteresting, no need to print it.

Originally committed as revision 22582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 14:43:03 +00:00
Måns Rullgård 7732f641ff Fix brief make output for generated tables
Originally committed as revision 22526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:48:09 +00:00
Måns Rullgård 0680c40a25 Remove .SECONDARY directive
The presence of the .SECONDARY directive caused thing to not always
be correctly rebuilt.  Mentioning the object files explicitly as
targets gives the desired result of make not deleting them without
unpleasant side-effects.

Originally committed as revision 22422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:57:01 +00:00