]>
Commit | Line | Data |
---|---|---|
1 | # Created: 2005/03/12 | |
2 | # Author: David Elliott | |
3 | ||
4 | # Usage Example: | |
5 | # make -f build/autogen.mk ACLOCAL=aclocal-1.9 | |
6 | ||
7 | # This is a simple Makefile to update the UNIX build system in such a | |
8 | # way that doing a cvs diff on its output files should reveal only the | |
9 | # true changes, not meaningless differences due to slightly different | |
10 | # autoconf or aclocal m4 files. | |
11 | ||
12 | # For aclocal: All necessary m4 files are located in the build/aclocal | |
13 | # directory. Running aclocal -I build/aclocal when using aclocal 1.9 | |
14 | # will result in an aclocal.m4 which uses m4_include for these files. | |
15 | ||
16 | ACLOCAL=aclocal | |
17 | AUTOCONF=autoconf | |
18 | BAKEFILE_GEN=bakefile_gen | |
19 | AUTOHACKS_PREPEND_INCLUDE_DIR=build/autoconf_prepend-include | |
20 | ||
21 | # configure depends on everything else so this will build everything. | |
22 | .PHONY: all | |
23 | all: configure | |
24 | ||
25 | .PHONY: autoconf_m4f | |
26 | ||
27 | # Invoke make on wxAutohacks dir, but don't fail if it's not present | |
28 | autoconf_m4f: | |
29 | -make -C $(AUTOHACKS_PREPEND_INCLUDE_DIR) | |
30 | ||
31 | BAKEFILES=\ | |
32 | build/bakefiles/wx.bkl \ | |
33 | build/bakefiles/common.bkl \ | |
34 | build/bakefiles/files.bkl \ | |
35 | build/bakefiles/monolithic.bkl \ | |
36 | build/bakefiles/multilib.bkl \ | |
37 | build/bakefiles/opengl.bkl \ | |
38 | build/bakefiles/plugins.bkl \ | |
39 | build/bakefiles/build_cfg.bkl | |
40 | ||
41 | # Run bakefile-gen (which generates everything) whenever a bakefile is newer | |
42 | # than Makefile.in or autoconf_inc.m4. | |
43 | # This dep is obviously wrong but probably close enough | |
44 | autoconf_inc.m4 Makefile.in: $(BAKEFILES) | |
45 | cd build/bakefiles && \ | |
46 | $(BAKEFILE_GEN) -f autoconf | |
47 | ||
48 | # Run configure whenever configure.in, aclocal.m4 or autoconf_inc.m4 is updated | |
49 | # Depend on our custom autoconf.m4f | |
50 | configure: configure.in aclocal.m4 autoconf_inc.m4 autoconf_m4f | |
51 | $(AUTOCONF) -B $(AUTOHACKS_PREPEND_INCLUDE_DIR) | |
52 | ||
53 | ACLOCAL_SOURCES = \ | |
54 | build/aclocal/bakefile.m4 \ | |
55 | build/aclocal/bakefile-lang.m4 \ | |
56 | build/aclocal/cppunit.m4 \ | |
57 | build/aclocal/gst-element-check.m4 \ | |
58 | build/aclocal/gtk-2.0.m4 \ | |
59 | build/aclocal/gtk.m4 \ | |
60 | build/aclocal/pkg.m4 \ | |
61 | build/aclocal/sdl.m4 | |
62 | ||
63 | # Run aclocal whenever acinclude or one of our local m4s is updated. | |
64 | aclocal.m4: configure.in acinclude.m4 $(ACLOCAL_SOURCES) | |
65 | $(ACLOCAL) -I build/aclocal | |
66 |