Commit Graph

174 Commits

Author SHA1 Message Date
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
Måns Rullgård
6a53fffd77 Improve version.h generation
Force version.sh to run whenever the version might have changed,
regardless of what is being built.  This is done by attaching the
dependencies to a dummy file (.version) which is included from the
makefile.  As make will always attempt to rebuild any included files
before considering other rules, this ensures that the real version.h
is (re-)created before it is required by any source file.

Originally committed as revision 22420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:56 +00:00
Måns Rullgård
93bff1de77 Replace $(G) with more generic $(M) in silent make rules
Originally committed as revision 22419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:52 +00:00
Måns Rullgård
86be2bc36f Prettify make output for documentation
Originally committed as revision 22418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:50 +00:00
Måns Rullgård
a736e0e5c2 Prettify make output when generating headers
Originally committed as revision 22401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:56:16 +00:00
Måns Rullgård
451db9832c Simplify static/shared build rules
Originally committed as revision 22394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:18 +00:00
Måns Rullgård
7acc01042e Remove duplicates from OBJS
Originally committed as revision 22391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:08 +00:00
Måns Rullgård
f89c14027a checkheaders: skip per-arch headers not meant for direct inclusion
Some of the per-arch headers are only meant to be used through
the parent header of the same name.  Testing these standalone
does not make sense.

Originally committed as revision 22341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:17:47 +00:00
Måns Rullgård
2a5500b13e Add TESTOBJS make variable for extra objects used by test apps
Originally committed as revision 22335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:44 +00:00
Måns Rullgård
9b55e2e727 Skip cmdutils_common_opts.h fragment in checkheaders
Originally committed as revision 22333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:38 +00:00
Måns Rullgård
72c2bdebcf Define HAVE_AV_CONFIG_H only when building libraries
Originally committed as revision 22294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:33 +00:00
Måns Rullgård
a0ac950109 Fix build with compilers using a separate dependency command
Originally committed as revision 22249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:29:29 +00:00
Måns Rullgård
63611f31e8 Prettify make output
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
2010-03-06 17:14:19 +00:00
Måns Rullgård
1d53620311 Stop make deleting intermediate files (ffmpeg.o and friends)
Originally committed as revision 22094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 15:25:28 +00:00
Måns Rullgård
f3a572ca14 Disable suffix rules
Most of the make builtin rules, which we do not need, are suffix rules,
and we use only new-style pattern rules.  Disabling suffix rules saves
some time when building on slow systems.

Originally committed as revision 22064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 23:27:54 +00:00
Måns Rullgård
8be0a5c384 Move ECFLAGS so it doesn't get added multiple times
Originally committed as revision 21520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:30:24 +00:00