Josh Coalson | 6b05bc5 | 2001-06-08 00:13:21 +0000 | [diff] [blame] | 1 | # FLAC - Free Lossless Audio Codec |
Josh Coalson | dea0f5a | 2009-01-07 07:31:28 +0000 | [diff] [blame] | 2 | # Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008,2009 Josh Coalson |
Josh Coalson | 6b05bc5 | 2001-06-08 00:13:21 +0000 | [diff] [blame] | 3 | # |
Josh Coalson | e8a7601 | 2003-02-07 00:14:32 +0000 | [diff] [blame] | 4 | # This file is part the FLAC project. FLAC is comprised of several |
| 5 | # components distributed under difference licenses. The codec libraries |
| 6 | # are distributed under Xiph.Org's BSD-like license (see the file |
| 7 | # COPYING.Xiph in this distribution). All other programs, libraries, and |
| 8 | # plugins are distributed under the GPL (see COPYING.GPL). The documentation |
| 9 | # is distributed under the Gnu FDL (see COPYING.FDL). Each file in the |
| 10 | # FLAC distribution contains at the top the terms under which it may be |
| 11 | # distributed. |
Josh Coalson | 6b05bc5 | 2001-06-08 00:13:21 +0000 | [diff] [blame] | 12 | # |
Josh Coalson | e8a7601 | 2003-02-07 00:14:32 +0000 | [diff] [blame] | 13 | # Since this particular file is relevant to all components of FLAC, |
| 14 | # it may be distributed under the Xiph.Org license, which is the least |
| 15 | # restrictive of those mentioned above. See the file COPYING.Xiph in this |
| 16 | # distribution. |
Josh Coalson | 6b05bc5 | 2001-06-08 00:13:21 +0000 | [diff] [blame] | 17 | |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 18 | # |
| 19 | # GNU Makefile |
| 20 | # |
| 21 | # Useful targets |
| 22 | # |
| 23 | # all : build all libraries and programs in the default configuration (currently 'release') |
| 24 | # debug : build all libraries and programs in debug mode |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 25 | # valgrind: build all libraries and programs in debug mode, dynamically linked and ready for valgrind |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 26 | # release : build all libraries and programs in release mode |
| 27 | # test : run the unit and stream tests |
| 28 | # clean : remove all non-distro files |
| 29 | # |
| 30 | |
Josh Coalson | cd0e322 | 2002-10-23 22:08:13 +0000 | [diff] [blame] | 31 | topdir = . |
| 32 | |
Hendricks266 | 96d081c | 2012-12-29 04:22:59 -0600 | [diff] [blame^] | 33 | .PHONY: all doc src examples libFLAC libFLAC++ share plugin_common plugin_xmms flac metaflac test_grabbag test_libFLAC test_libFLAC++ test_seeking test_streams utils flacdiff flactimer |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 34 | all: doc src examples |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 35 | |
| 36 | DEFAULT_CONFIG = release |
| 37 | |
| 38 | CONFIG = $(DEFAULT_CONFIG) |
| 39 | |
| 40 | debug : CONFIG = debug |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 41 | valgrind: CONFIG = valgrind |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 42 | release : CONFIG = release |
| 43 | |
| 44 | debug : all |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 45 | valgrind: all |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 46 | release : all |
| 47 | |
Josh Coalson | ef5c2f8 | 2002-07-24 06:13:41 +0000 | [diff] [blame] | 48 | doc: |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 49 | (cd $@ && $(MAKE) -f Makefile.lite) |
Josh Coalson | ef5c2f8 | 2002-07-24 06:13:41 +0000 | [diff] [blame] | 50 | |
Hendricks266 | 96d081c | 2012-12-29 04:22:59 -0600 | [diff] [blame^] | 51 | src examples: |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 52 | (cd $@ && $(MAKE) -f Makefile.lite $(CONFIG)) |
| 53 | |
Hendricks266 | 96d081c | 2012-12-29 04:22:59 -0600 | [diff] [blame^] | 54 | libFLAC libFLAC++ share flac metaflac plugin_common plugin_xmms test_libs_common test_seeking test_streams test_grabbag test_libFLAC test_libFLAC++: |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 55 | (cd src/$@ && $(MAKE) -f Makefile.lite $(CONFIG)) |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 56 | |
Hendricks266 | 96d081c | 2012-12-29 04:22:59 -0600 | [diff] [blame^] | 57 | flacdiff flactimer: |
| 58 | (cd src/utils/$@ && $(MAKE) -f Makefile.lite $(CONFIG)) |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 59 | |
| 60 | test: debug |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 61 | (cd test && $(MAKE) -f Makefile.lite debug) |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 62 | |
| 63 | testv: valgrind |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 64 | (cd test && $(MAKE) -f Makefile.lite valgrind) |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 65 | |
| 66 | testr: release |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 67 | (cd test && $(MAKE) -f Makefile.lite release) |
Josh Coalson | bb7f6b9 | 2000-12-10 04:09:52 +0000 | [diff] [blame] | 68 | |
| 69 | clean: |
Josh Coalson | 44937a7 | 2007-09-12 02:42:05 +0000 | [diff] [blame] | 70 | -(cd doc && $(MAKE) -f Makefile.lite clean) |
| 71 | -(cd src && $(MAKE) -f Makefile.lite clean) |
| 72 | -(cd examples && $(MAKE) -f Makefile.lite clean) |
| 73 | -(cd test && $(MAKE) -f Makefile.lite clean) |
Hendricks266 | 96d081c | 2012-12-29 04:22:59 -0600 | [diff] [blame^] | 74 | |
| 75 | examples: libFLAC libFLAC++ share |
| 76 | include $(topdir)/Makefile.deps |