Simplyfing makefile a bit.
[live-boot-grml.git] / Makefile
1 # Makefile
2
3 SHELL := sh -e
4
5 LANGUAGES = de
6
7 SCRIPTS = bin/* hooks/* scripts/live scripts/live-functions scripts/live-helpers scripts/*/*
8
9 all: test build
10
11 test:
12         @echo -n "Checking for syntax errors"
13
14         @for SCRIPT in $(SCRIPTS); \
15         do \
16                 sh -n $${SCRIPT}; \
17                 echo -n "."; \
18         done
19
20         @echo " done."
21
22         @echo -n "Checking for bashisms"
23
24         @# We can't just fail yet on bashisms (FIXME)
25         @if [ -x /usr/bin/checkbashisms ]; \
26         then \
27                 for SCRIPT in $(SCRIPTS); \
28                 do \
29                         checkbashisms $${SCRIPT} || true; \
30                         echo -n "."; \
31                 done; \
32         else \
33                 echo "WARNING: skipping bashism test - you need to install devscripts."; \
34         fi
35
36         @echo " done."
37
38 build:
39         @echo "Nothing to build."
40
41 install:
42         # (FIXME)
43         # Installing configuration
44         install -D -m 0644 conf/live.conf $(DESTDIR)/etc/live.conf
45         install -D -m 0644 conf/compcache $(DESTDIR)/usr/share/initramfs-tools/conf.d/compcache
46
47         # Installing executables
48         mkdir -p $(DESTDIR)/sbin
49         cp bin/live-getty bin/live-login bin/live-new-uuid bin/live-snapshot bin/live-swapfile $(DESTDIR)/sbin
50
51         mkdir -p $(DESTDIR)/usr/share/live-boot
52         cp bin/live-preseed bin/live-reconfigure contrib/languagelist $(DESTDIR)/usr/share/live-boot
53
54         mkdir -p $(DESTDIR)/usr/share/initramfs-tools
55         cp -r hooks scripts $(DESTDIR)/usr/share/initramfs-tools
56
57         # Installing docs
58         mkdir -p $(DESTDIR)/usr/share/doc/live-boot
59         cp -r COPYING docs/* $(DESTDIR)/usr/share/doc/live-boot
60
61         mkdir -p $(DESTDIR)/usr/share/doc/live-boot/examples
62         cp -r conf/* $(DESTDIR)/usr/share/doc/live-boot/examples
63         # (FIXME)
64
65         # Installing manpages
66         for MANPAGE in manpages/en/*; \
67         do \
68                 SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \
69                 install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE}); \
70         done
71
72         for LANGUAGE in $(LANGUAGES); \
73         do \
74                 for MANPAGE in manpages/$${LANGUAGE}/*; \
75                 do \
76                         SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \
77                         install -D -m 0644 $${MANPAGE} $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \
78                 done; \
79         done
80
81 uninstall:
82         # (FIXME)
83         # Uninstalling configuration
84         rm -f $(DESTDIR)/etc/live.conf
85
86         # Uninstalling executables
87         rm -f $(DESTDIR)/sbin/live-getty $(DESTDIR)/sbin/live-login $(DESTDIR)/sbin/live-snapshot $(DESTDIR)/sbin/live-swapfile
88         rm -rf $(DESTDIR)/usr/share/live-boot
89         rm -f $(DESTDIR)/usr/share/initramfs-tools/hooks/live
90         rm -rf $(DESTDIR)/usr/share/initramfs-tools/scripts/live*
91         rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top/live
92
93         # Uninstalling docs
94         rm -rf $(DESTDIR)/usr/share/doc/live-boot
95         # (FIXME)
96
97         # Uninstalling manpages
98         for MANPAGE in manpages/en/*; \
99         do \
100                 SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$2 }')"; \
101                 rm -f $(DESTDIR)/usr/share/man/man$${SECTION}/$$(basename $${MANPAGE} .en.$${SECTION}).$${SECTION}; \
102         done
103
104         for LANGUAGE in $(LANGUAGES); \
105         do \
106                 for MANPAGE in manpages/$${LANGUAGE}/*; \
107                 do \
108                         SECTION="$$(basename $${MANPAGE} | awk -F. '{ print $$3 }')"; \
109                         rm -f $(DESTDIR)/usr/share/man/$${LANGUAGE}/man$${SECTION}/$$(basename $${MANPAGE} .$${LANGUAGE}.$${SECTION}).$${SECTION}; \
110                 done; \
111         done
112
113 clean:
114
115 distclean:
116
117 reinstall: uninstall install