Annotation of /trunk/mkinitrd-magellan/busybox/Makefile.custom
Parent Directory | Revision Log
Revision 984 -
(hide annotations)
(download)
Sun May 30 11:32:42 2010 UTC (14 years, 4 months ago) by niro
File size: 5520 byte(s)
Sun May 30 11:32:42 2010 UTC (14 years, 4 months ago) by niro
File size: 5520 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
1 | niro | 532 | # ========================================================================== |
2 | # Build system | ||
3 | # ========================================================================== | ||
4 | |||
5 | busybox.links: $(srctree)/applets/busybox.mkll $(objtree)/include/autoconf.h $(srctree)/include/applets.h | ||
6 | $(Q)-$(SHELL) $^ >$@ | ||
7 | |||
8 | .PHONY: install | ||
9 | ifeq ($(CONFIG_INSTALL_APPLET_SYMLINKS),y) | ||
10 | INSTALL_OPTS:= --symlinks | ||
11 | endif | ||
12 | ifeq ($(CONFIG_INSTALL_APPLET_HARDLINKS),y) | ||
13 | INSTALL_OPTS:= --hardlinks | ||
14 | endif | ||
15 | niro | 816 | ifeq ($(CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS),y) |
16 | ifeq ($(CONFIG_INSTALL_SH_APPLET_SYMLINK),y) | ||
17 | INSTALL_OPTS:= --sw-sh-sym | ||
18 | endif | ||
19 | ifeq ($(CONFIG_INSTALL_SH_APPLET_HARDLINK),y) | ||
20 | INSTALL_OPTS:= --sw-sh-hard | ||
21 | endif | ||
22 | ifeq ($(CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER),y) | ||
23 | INSTALL_OPTS:= --scriptwrapper | ||
24 | endif | ||
25 | endif | ||
26 | niro | 532 | install: $(srctree)/applets/install.sh busybox busybox.links |
27 | $(Q)DO_INSTALL_LIBS="$(strip $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS))" \ | ||
28 | $(SHELL) $< $(CONFIG_PREFIX) $(INSTALL_OPTS) | ||
29 | ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) | ||
30 | @echo | ||
31 | @echo | ||
32 | @echo -------------------------------------------------- | ||
33 | @echo You will probably need to make your busybox binary | ||
34 | @echo setuid root to ensure all configured applets will | ||
35 | @echo work properly. | ||
36 | @echo -------------------------------------------------- | ||
37 | @echo | ||
38 | endif | ||
39 | |||
40 | uninstall: busybox.links | ||
41 | rm -f $(CONFIG_PREFIX)/bin/busybox | ||
42 | for i in `cat busybox.links` ; do rm -f $(CONFIG_PREFIX)$$i; done | ||
43 | ifneq ($(strip $(DO_INSTALL_LIBS)),n) | ||
44 | for i in $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS); do \ | ||
45 | rm -f $(CONFIG_PREFIX)$$i; \ | ||
46 | done | ||
47 | endif | ||
48 | |||
49 | niro | 816 | # Not very elegant: copies testsuite to objdir... |
50 | # (cp -pPR is POSIX-compliant (cp -dpR or cp -a would not be)) | ||
51 | .PHONY: check | ||
52 | .PHONY: test | ||
53 | niro | 532 | check test: busybox busybox.links |
54 | niro | 816 | test -d $(objtree)/testsuite || cp -pPR $(srctree)/testsuite $(objtree) |
55 | bindir=$(objtree) srcdir=$(srctree)/testsuite \ | ||
56 | $(SHELL) -c "cd $(objtree)/testsuite && $(srctree)/testsuite/runtest $(if $(KBUILD_VERBOSE:0=),-v)" | ||
57 | niro | 532 | |
58 | .PHONY: release | ||
59 | release: distclean | ||
60 | cd ..; \ | ||
61 | rm -r -f busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION); \ | ||
62 | niro | 816 | cp -pPR busybox busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) && { \ |
63 | niro | 532 | find busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ -type d \ |
64 | -name .svn \ | ||
65 | -print \ | ||
66 | -exec rm -r -f {} \; ; \ | ||
67 | find busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ -type f \ | ||
68 | -name .\#* \ | ||
69 | -print \ | ||
70 | -exec rm -f {} \; ; \ | ||
71 | tar -czf busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION).tar.gz \ | ||
72 | busybox-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)/ ; } | ||
73 | |||
74 | .PHONY: checkhelp | ||
75 | checkhelp: | ||
76 | $(Q)$(srctree)/scripts/checkhelp.awk \ | ||
77 | $(patsubst %,$(srctree)/%,$(wildcard $(patsubst %,%/Config.in,$(busybox-dirs) ./))) | ||
78 | |||
79 | .PHONY: sizes | ||
80 | sizes: busybox_unstripped | ||
81 | $(NM) --size-sort $(<) | ||
82 | |||
83 | .PHONY: bloatcheck | ||
84 | bloatcheck: busybox_old busybox_unstripped | ||
85 | @$(srctree)/scripts/bloat-o-meter busybox_old busybox_unstripped | ||
86 | niro | 816 | @$(CROSS_COMPILE)size busybox_old busybox_unstripped |
87 | niro | 532 | |
88 | .PHONY: baseline | ||
89 | baseline: busybox_unstripped | ||
90 | @mv busybox_unstripped busybox_old | ||
91 | |||
92 | .PHONY: objsizes | ||
93 | objsizes: busybox_unstripped | ||
94 | $(srctree)/scripts/objsizes | ||
95 | |||
96 | niro | 816 | .PHONY: stksizes |
97 | stksizes: busybox_unstripped | ||
98 | $(CROSS_COMPILE)objdump -d busybox_unstripped | $(srctree)/scripts/checkstack.pl $(ARCH) | uniq | ||
99 | |||
100 | niro | 532 | .PHONY: bigdata |
101 | bigdata: busybox_unstripped | ||
102 | niro | 816 | $(CROSS_COMPILE)nm --size-sort busybox_unstripped | grep -vi ' [trw] ' |
103 | niro | 532 | |
104 | # Documentation Targets | ||
105 | .PHONY: doc | ||
106 | doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html | ||
107 | |||
108 | niro | 816 | # FIXME: Doesn't belong here |
109 | niro | 984 | cmd_doc = |
110 | quiet_cmd_doc = $(Q)echo " DOC $(@F)" | ||
111 | silent_cmd_doc = | ||
112 | disp_doc = $($(quiet)cmd_doc) | ||
113 | niro | 816 | |
114 | niro | 984 | # sed adds newlines after "Options:" etc, |
115 | # this is needed in order to get good BusyBox.{1,txt,html} | ||
116 | niro | 532 | docs/busybox.pod: $(srctree)/docs/busybox_header.pod \ |
117 | $(srctree)/include/usage.h \ | ||
118 | $(srctree)/docs/busybox_footer.pod \ | ||
119 | niro | 984 | applets/usage_pod |
120 | niro | 532 | $(disp_doc) |
121 | $(Q)-mkdir -p docs | ||
122 | niro | 984 | $(Q)-( \ |
123 | cat $(srctree)/docs/busybox_header.pod; \ | ||
124 | applets/usage_pod | sed 's/^[A-Za-z][A-Za-z ]*[a-z]:$$/&\n/'; \ | ||
125 | cat $(srctree)/docs/busybox_footer.pod; \ | ||
126 | ) > docs/busybox.pod | ||
127 | niro | 532 | |
128 | docs/BusyBox.txt: docs/busybox.pod | ||
129 | $(disp_doc) | ||
130 | $(Q)-mkdir -p docs | ||
131 | $(Q)-pod2text $< > $@ | ||
132 | |||
133 | docs/BusyBox.1: docs/busybox.pod | ||
134 | $(disp_doc) | ||
135 | $(Q)-mkdir -p docs | ||
136 | niro | 984 | $(Q)-pod2man --center=BusyBox --release="version $(KERNELVERSION)" $< > $@ |
137 | niro | 532 | |
138 | docs/BusyBox.html: docs/busybox.net/BusyBox.html | ||
139 | $(disp_doc) | ||
140 | $(Q)-mkdir -p docs | ||
141 | $(Q)-rm -f docs/BusyBox.html | ||
142 | $(Q)-cp docs/busybox.net/BusyBox.html docs/BusyBox.html | ||
143 | |||
144 | docs/busybox.net/BusyBox.html: docs/busybox.pod | ||
145 | $(Q)-mkdir -p docs/busybox.net | ||
146 | niro | 984 | $(Q)-pod2html --noindex $< > $@ |
147 | niro | 532 | $(Q)-rm -f pod2htm* |
148 | |||
149 | # documentation, cross-reference | ||
150 | # Modern distributions already ship synopsis packages (e.g. debian) | ||
151 | # If you have an old distribution go to http://synopsis.fresco.org/ | ||
152 | syn_tgt = $(wildcard $(patsubst %,%/*.c,$(busybox-alldirs))) | ||
153 | syn = $(patsubst %.c, %.syn, $(syn_tgt)) | ||
154 | |||
155 | comma:= , | ||
156 | brace_open:= ( | ||
157 | brace_close:= ) | ||
158 | |||
159 | SYN_CPPFLAGS := $(strip $(CPPFLAGS) $(EXTRA_CPPFLAGS)) | ||
160 | SYN_CPPFLAGS := $(subst $(brace_open),\$(brace_open),$(SYN_CPPFLAGS)) | ||
161 | SYN_CPPFLAGS := $(subst $(brace_close),\$(brace_close),$(SYN_CPPFLAGS)) | ||
162 | #SYN_CPPFLAGS := $(subst ",\",$(SYN_CPPFLAGS)) | ||
163 | #") | ||
164 | #SYN_CPPFLAGS := [$(patsubst %,'%'$(comma),$(SYN_CPPFLAGS))''] | ||
165 | |||
166 | %.syn: %.c | ||
167 | synopsis -p C -l Comments.SSDFilter,Comments.Previous -Wp,preprocess=True,cppflags="'$(SYN_CPPFLAGS)'" -o $@ $< | ||
168 | |||
169 | .PHONY: html | ||
170 | html: $(syn) | ||
171 | synopsis -f HTML -Wf,title="'BusyBox Documentation'" -o $@ $^ | ||
172 | niro | 816 | |
173 | -include $(srctree)/Makefile.local |