aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorSami Kerola <kerolasa@iki.fi>2013-05-26 09:30:15 (GMT)
committerSami Kerola <kerolasa@iki.fi>2013-05-26 09:38:11 (GMT)
commit7541054b299bbd61310ab0456cf4f25b7a672de3 (patch)
tree47878d28304cb560a4f31bc98466a9347e8edb6c /util
parent82e300c7bac1542f27668a8d7e234b4dd6ea1211 (diff)
downloadfluxbox-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.am70
-rw-r--r--util/Makemodule.am58
-rw-r--r--util/fbrun/Makefile.am16
-rw-r--r--util/fbrun/Makemodule.am22
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
2SUBDIRS= fbrun
3AM_CPPFLAGS= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk -include $(top_builddir)/config.h
4bin_SCRIPTS= fbsetbg fluxbox-generate_menu startfluxbox
5bin_PROGRAMS= fbsetroot fluxbox-update_configs fluxbox-remote
6fbsetroot_SOURCES= fbsetroot.cc fbsetroot.hh
7fbsetroot_LDADD=../src/FbRootWindow.o ../src/FbAtoms.o \
8 ../src/FbTk/libFbTk.a
9fbsetroot_LDFLAGS = \
10 $(FONTCONFIG_LIBS) \
11 $(FRIBIDI_LIBS) \
12 $(X11_LIBS) \
13 $(XFT_LIBS) \
14 $(XRENDER_LIBS)
15
16fluxbox_update_configs_SOURCES= fluxbox-update_configs.cc
17fluxbox_update_configs_LDADD= ../src/defaults.o ../src/Resources.o \
18 ../src/FbTk/libFbTk.a
19fluxbox_update_configs_LDFLAGS = \
20 $(FRIBIDI_LIBS) \
21 $(X11_LIBS)
22fluxbox_remote_SOURCES= fluxbox-remote.cc
23fluxbox_remote_LDFLAGS = $(X11_LIBS)
24
25MAINTAINERCLEANFILES= Makefile.in
26EXTRA_DIST= fbsetbg fluxbox-generate_menu.in \
27 startfluxbox.in
28
29PROGRAM_PREFIX=@program_prefix@
30PROGRAM_SUFFIX=@program_suffix@
31
32all-local: startfluxbox
33
34clean-local:
35 rm -f startfluxbox fluxbox-generate_menu
36
37fbsetroot.o: fbsetroot.cc $(srcdir)/fbsetroot.hh \
38 $(top_srcdir)/src/FbRootWindow.hh $(top_srcdir)/src/FbAtoms.hh
39
40fluxbox-update_configs.o: fluxbox-update_configs.cc \
41 $(top_builddir)/src/defaults.hh
42
43fluxbox-remote.o: fluxbox-remote.cc
44
45startfluxbox: 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
54fluxbox-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
3bin_SCRIPTS = \
4 util/fbsetbg \
5 util/fluxbox-generate_menu \
6 util/startfluxbox
7EXTRA_DIST += \
8 util/fbsetbg
9PATHFILES += \
10 util/startfluxbox \
11 util/fluxbox-generate_menu
12
13bin_PROGRAMS += \
14 fbsetroot \
15 fluxbox-remote \
16 fluxbox-update_configs
17
18fbsetroot_SOURCES = \
19 src/FbAtoms.cc \
20 src/FbRootWindow.cc \
21 util/fbsetroot.cc \
22 util/fbsetroot.hh
23fbsetroot_LDADD = \
24 libFbTk.a
25fbsetroot_CPPFLAGS = \
26 $(AM_CPPFLAGS) \
27 -I$(fbtk_incdir) \
28 -I$(src_incdir) \
29 -I$(nls_incdir)
30fbsetroot_LDFLAGS = \
31 $(FONTCONFIG_LIBS) \
32 $(FRIBIDI_LIBS) \
33 $(X11_LIBS) \
34 $(XFT_LIBS) \
35 $(XRENDER_LIBS)
36
37fluxbox_update_configs_SOURCES = \
38 src/defaults.cc \
39 src/Resources.cc \
40 util/fluxbox-update_configs.cc
41fluxbox_update_configs_CPPFLAGS = \
42 $(AM_CPPFLAGS) \
43 -I$(fbtk_incdir) \
44 -I$(src_incdir) \
45 -I$(nls_incdir)
46fluxbox_update_configs_LDADD = \
47 libFbTk.a
48fluxbox_update_configs_LDFLAGS = \
49 $(FRIBIDI_LIBS) \
50 $(X11_LIBS)
51
52fluxbox_remote_SOURCES = \
53 util/fluxbox-remote.cc
54fluxbox_remote_CPPFLAGS = \
55 $(AM_CPPFLAGS) \
56 -I$(fbtk_incdir)
57fluxbox_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 @@
1FLUXBOX_SRC_DIR= ../../src/
2AM_CPPFLAGS= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk -include $(top_builddir)/config.h
3bin_PROGRAMS= fbrun
4fbrun_SOURCES= FbRun.hh FbRun.cc main.cc fbrun.xpm
5fbrun_LDADD= ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a
6fbrun_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 @@
1bin_PROGRAMS += fbrun
2
3fbrun_CPPFLAGS = \
4 $(AM_CPPFLAGS) \
5 -I$(fbtk_incdir)
6
7fbrun_SOURCES = \
8 util/fbrun/FbRun.hh \
9 util/fbrun/FbRun.cc \
10 util/fbrun/main.cc \
11 util/fbrun/fbrun.xpm
12
13fbrun_LDADD = libFbTk.a
14
15fbrun_LDFLAGS = \
16 $(FONTCONFIG_LIBS) \
17 $(FRIBIDI_LIBS) \
18 $(X11_LIBS) \
19 $(XFT_LIBS) \
20 $(XINERAMA_LIBS) \
21 $(XPM_LIBS) \
22 $(XRENDER_LIBS)