diff options
author | Sami Kerola <kerolasa@iki.fi> | 2013-05-26 09:30:15 (GMT) |
---|---|---|
committer | Sami Kerola <kerolasa@iki.fi> | 2013-05-26 09:38:11 (GMT) |
commit | 7541054b299bbd61310ab0456cf4f25b7a672de3 (patch) | |
tree | 47878d28304cb560a4f31bc98466a9347e8edb6c /util | |
parent | 82e300c7bac1542f27668a8d7e234b4dd6ea1211 (diff) | |
download | fluxbox-7541054b299bbd61310ab0456cf4f25b7a672de3.zip fluxbox-7541054b299bbd61310ab0456cf4f25b7a672de3.tar.bz2 |
build-sys: move to non-recursive build
This rather large change will attempts to make 'make' to work better.
See excellent paper 'Recursive Make Considered Harmful' by Peter Miller
for further explanation why several make files is worse than one for
whole project.
Note. The tests are build with 'make check' rather than defining TEST.
Reference: http://miller.emu.id.au/pmiller/books/rmch/
Reference: http://karelzak.blogspot.co.uk/2013/02/non-recursive-automake.html
Diffstat (limited to 'util')
-rw-r--r-- | util/Makefile.am | 70 | ||||
-rw-r--r-- | util/Makemodule.am | 58 | ||||
-rw-r--r-- | util/fbrun/Makefile.am | 16 | ||||
-rw-r--r-- | util/fbrun/Makemodule.am | 22 |
4 files changed, 80 insertions, 86 deletions
diff --git a/util/Makefile.am b/util/Makefile.am deleted file mode 100644 index 63fe66a..0000000 --- a/util/Makefile.am +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | # util/Makefile.am for Fluxbox | ||
2 | SUBDIRS= fbrun | ||
3 | AM_CPPFLAGS= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk -include $(top_builddir)/config.h | ||
4 | bin_SCRIPTS= fbsetbg fluxbox-generate_menu startfluxbox | ||
5 | bin_PROGRAMS= fbsetroot fluxbox-update_configs fluxbox-remote | ||
6 | fbsetroot_SOURCES= fbsetroot.cc fbsetroot.hh | ||
7 | fbsetroot_LDADD=../src/FbRootWindow.o ../src/FbAtoms.o \ | ||
8 | ../src/FbTk/libFbTk.a | ||
9 | fbsetroot_LDFLAGS = \ | ||
10 | $(FONTCONFIG_LIBS) \ | ||
11 | $(FRIBIDI_LIBS) \ | ||
12 | $(X11_LIBS) \ | ||
13 | $(XFT_LIBS) \ | ||
14 | $(XRENDER_LIBS) | ||
15 | |||
16 | fluxbox_update_configs_SOURCES= fluxbox-update_configs.cc | ||
17 | fluxbox_update_configs_LDADD= ../src/defaults.o ../src/Resources.o \ | ||
18 | ../src/FbTk/libFbTk.a | ||
19 | fluxbox_update_configs_LDFLAGS = \ | ||
20 | $(FRIBIDI_LIBS) \ | ||
21 | $(X11_LIBS) | ||
22 | fluxbox_remote_SOURCES= fluxbox-remote.cc | ||
23 | fluxbox_remote_LDFLAGS = $(X11_LIBS) | ||
24 | |||
25 | MAINTAINERCLEANFILES= Makefile.in | ||
26 | EXTRA_DIST= fbsetbg fluxbox-generate_menu.in \ | ||
27 | startfluxbox.in | ||
28 | |||
29 | PROGRAM_PREFIX=@program_prefix@ | ||
30 | PROGRAM_SUFFIX=@program_suffix@ | ||
31 | |||
32 | all-local: startfluxbox | ||
33 | |||
34 | clean-local: | ||
35 | rm -f startfluxbox fluxbox-generate_menu | ||
36 | |||
37 | fbsetroot.o: fbsetroot.cc $(srcdir)/fbsetroot.hh \ | ||
38 | $(top_srcdir)/src/FbRootWindow.hh $(top_srcdir)/src/FbAtoms.hh | ||
39 | |||
40 | fluxbox-update_configs.o: fluxbox-update_configs.cc \ | ||
41 | $(top_builddir)/src/defaults.hh | ||
42 | |||
43 | fluxbox-remote.o: fluxbox-remote.cc | ||
44 | |||
45 | startfluxbox: startfluxbox.in | ||
46 | @regex_cmd@ -e "s,@pkgdatadir@,$(pkgdatadir),g" \ | ||
47 | -e "s,@pkgbindir@,$(bindir),g" \ | ||
48 | -e "s,@pkgprefix@,$(PROGRAM_PREFIX:NONE=),g" \ | ||
49 | -e "s,@pkgsuffix@,$(PROGRAM_SUFFIX:NONE=),g" \ | ||
50 | -e "s,@EXEEXT@,$(EXEEXT),g" \ | ||
51 | $(srcdir)/startfluxbox.in > startfluxbox | ||
52 | -chmod 755 startfluxbox | ||
53 | |||
54 | fluxbox-generate_menu: fluxbox-generate_menu.in | ||
55 | @regex_cmd@ -e "s,@PREFIX@,$(prefix),g" \ | ||
56 | -e "s,@pkgprefix@,$(PROGRAM_PREFIX:NONE=),g" \ | ||
57 | -e "s,@pkgsuffix@,$(PROGRAM_SUFFIX:NONE=),g" \ | ||
58 | -e "s,@EXEEXT@,$(EXEEXT),g" \ | ||
59 | $(srcdir)/fluxbox-generate_menu.in \ | ||
60 | > fluxbox-generate_menu | ||
61 | -chmod 755 fluxbox-generate_menu | ||
62 | |||
63 | ../src/FbRootWindow.o: | ||
64 | cd ../src && ${MAKE} FbRootWindow.o | ||
65 | ../src/FbAtoms.o: | ||
66 | cd ../src && ${MAKE} FbAtoms.o | ||
67 | ../src/defaults.o: | ||
68 | cd ../src && ${MAKE} defaults.o | ||
69 | ../src/Resources.o: | ||
70 | cd ../src && ${MAKE} Resources.o | ||
diff --git a/util/Makemodule.am b/util/Makemodule.am new file mode 100644 index 0000000..44f3002 --- /dev/null +++ b/util/Makemodule.am | |||
@@ -0,0 +1,58 @@ | |||
1 | # util/Makefile.am for Fluxbox | ||
2 | |||
3 | bin_SCRIPTS = \ | ||
4 | util/fbsetbg \ | ||
5 | util/fluxbox-generate_menu \ | ||
6 | util/startfluxbox | ||
7 | EXTRA_DIST += \ | ||
8 | util/fbsetbg | ||
9 | PATHFILES += \ | ||
10 | util/startfluxbox \ | ||
11 | util/fluxbox-generate_menu | ||
12 | |||
13 | bin_PROGRAMS += \ | ||
14 | fbsetroot \ | ||
15 | fluxbox-remote \ | ||
16 | fluxbox-update_configs | ||
17 | |||
18 | fbsetroot_SOURCES = \ | ||
19 | src/FbAtoms.cc \ | ||
20 | src/FbRootWindow.cc \ | ||
21 | util/fbsetroot.cc \ | ||
22 | util/fbsetroot.hh | ||
23 | fbsetroot_LDADD = \ | ||
24 | libFbTk.a | ||
25 | fbsetroot_CPPFLAGS = \ | ||
26 | $(AM_CPPFLAGS) \ | ||
27 | -I$(fbtk_incdir) \ | ||
28 | -I$(src_incdir) \ | ||
29 | -I$(nls_incdir) | ||
30 | fbsetroot_LDFLAGS = \ | ||
31 | $(FONTCONFIG_LIBS) \ | ||
32 | $(FRIBIDI_LIBS) \ | ||
33 | $(X11_LIBS) \ | ||
34 | $(XFT_LIBS) \ | ||
35 | $(XRENDER_LIBS) | ||
36 | |||
37 | fluxbox_update_configs_SOURCES = \ | ||
38 | src/defaults.cc \ | ||
39 | src/Resources.cc \ | ||
40 | util/fluxbox-update_configs.cc | ||
41 | fluxbox_update_configs_CPPFLAGS = \ | ||
42 | $(AM_CPPFLAGS) \ | ||
43 | -I$(fbtk_incdir) \ | ||
44 | -I$(src_incdir) \ | ||
45 | -I$(nls_incdir) | ||
46 | fluxbox_update_configs_LDADD = \ | ||
47 | libFbTk.a | ||
48 | fluxbox_update_configs_LDFLAGS = \ | ||
49 | $(FRIBIDI_LIBS) \ | ||
50 | $(X11_LIBS) | ||
51 | |||
52 | fluxbox_remote_SOURCES = \ | ||
53 | util/fluxbox-remote.cc | ||
54 | fluxbox_remote_CPPFLAGS = \ | ||
55 | $(AM_CPPFLAGS) \ | ||
56 | -I$(fbtk_incdir) | ||
57 | fluxbox_remote_LDFLAGS = \ | ||
58 | $(X11_LIBS) | ||
diff --git a/util/fbrun/Makefile.am b/util/fbrun/Makefile.am deleted file mode 100644 index 92f7c47..0000000 --- a/util/fbrun/Makefile.am +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | FLUXBOX_SRC_DIR= ../../src/ | ||
2 | AM_CPPFLAGS= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk -include $(top_builddir)/config.h | ||
3 | bin_PROGRAMS= fbrun | ||
4 | fbrun_SOURCES= FbRun.hh FbRun.cc main.cc fbrun.xpm | ||
5 | fbrun_LDADD= ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a | ||
6 | fbrun_LDFLAGS = \ | ||
7 | $(FONTCONFIG_LIBS) \ | ||
8 | $(FRIBIDI_LIBS) \ | ||
9 | $(X11_LIBS) \ | ||
10 | $(XINERAMA_LIBS) \ | ||
11 | $(XFT_LIBS) \ | ||
12 | $(XPM_LIBS) \ | ||
13 | $(XRENDER_LIBS) | ||
14 | |||
15 | ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a: | ||
16 | cd ${FLUXBOX_SRC_DIR}FbTk && make | ||
diff --git a/util/fbrun/Makemodule.am b/util/fbrun/Makemodule.am new file mode 100644 index 0000000..cb98e92 --- /dev/null +++ b/util/fbrun/Makemodule.am | |||
@@ -0,0 +1,22 @@ | |||
1 | bin_PROGRAMS += fbrun | ||
2 | |||
3 | fbrun_CPPFLAGS = \ | ||
4 | $(AM_CPPFLAGS) \ | ||
5 | -I$(fbtk_incdir) | ||
6 | |||
7 | fbrun_SOURCES = \ | ||
8 | util/fbrun/FbRun.hh \ | ||
9 | util/fbrun/FbRun.cc \ | ||
10 | util/fbrun/main.cc \ | ||
11 | util/fbrun/fbrun.xpm | ||
12 | |||
13 | fbrun_LDADD = libFbTk.a | ||
14 | |||
15 | fbrun_LDFLAGS = \ | ||
16 | $(FONTCONFIG_LIBS) \ | ||
17 | $(FRIBIDI_LIBS) \ | ||
18 | $(X11_LIBS) \ | ||
19 | $(XFT_LIBS) \ | ||
20 | $(XINERAMA_LIBS) \ | ||
21 | $(XPM_LIBS) \ | ||
22 | $(XRENDER_LIBS) | ||