Added Breadbox64 to the Atari Makefile (now that I ported BB64 to that target). This...
[contiki-2.x.git] / backyard / Makefile
blob78851e3c21213d07e06f660d30c282f81ac54457
1 ###################################################################
2 # toplevel makefile for contiki 2.x
4 # 2006/06/24 gpz - initial creation
6 # todo:
7 # - add rules for other/more ports
8 # - add "dist-<target>" rules (for creating tarballs)
9 # - create checks for required tools and give hints on where
10 # to get certain missing stuff
11 # - incase certain targets fail, print a error summary when
12 # all targets are done
13 ###################################################################
15 # uncomment this for less verbose output
16 #.SILENT:
18 MAKE=make
19 ECHO=echo -en
20 CD=cd
22 ###################################################################
23 # this first rule prints usage info when the make is invoked
24 # without any arguments
25 ###################################################################
27 .PHONY: usage
29 usage:
30 -@$(ECHO) "usage: make <target(s)>\n\n"
31 -@$(ECHO) "available targets are:\n\n"
32 -@$(ECHO) "docs build the documentation\n"
33 -@$(ECHO) "gtk build full featured GTK port\n"
34 -@$(ECHO) "gtk-examples build examples with GTK port\n"
35 -@$(ECHO) "esb build full featured ESB port\n"
36 -@$(ECHO) "esb-examples build examples with ESB port\n"
37 -@$(ECHO) "minimal-net-examples build examples with minimal-net port\n"
38 -@$(ECHO) "native-examples build examples with native port\n"
39 -@$(ECHO) "all build everything\n"
40 -@$(ECHO) "clean cleanup the sourcetree\n"
41 -@$(ECHO) "\nfor more targets and other details look at this makefile.\n"
43 ###################################################################
44 # the "all" rule can be used to make a clean build from all and
45 # everything. you will need to have all kinds of support tools
46 # installed for this to work!
47 ###################################################################
49 .PHONY: all dist examples
51 all: source-dist docs docs-dist examples c64 esb ethernut1 ethernut2 gtk minimal-net minimal-ppp native netsim
53 dist: source-dist docs-dist
55 examples: c64-examples esb-examples ethernut1-examples ethernut2-examples gtk-examples minimal-net-examples minimal-ppp-examples native-examples netsim-examples
56 examples-clean: c64-examples-clean esb-examples-clean ethernut1-examples-clean ethernut2-examples-clean gtk-examples-clean minimal-net-examples-clean minimal-ppp-examples-clean native-examples-clean netsim-examples-clean
58 ###################################################################
59 # general cleanup rule
60 ###################################################################
62 .PHONY: clean
64 clean: docs-clean examples-clean c64-clean esb-clean ethernut1-clean ethernut2-clean gtk-clean minimal-net-clean minimal-ppp-clean native-clean netsim-clean
65 -@$(ECHO) "sourcetree cleaned up.\n"
67 ###################################################################
68 # rules for building the documentation
69 ###################################################################
71 .PHONY: docs docs-clean docs-html docs-pdf docs-dist
73 docs: docs-html docs-pdf
75 docs-doxygen:
76 -@$(CD) doc; $(MAKE) dox
78 docs-html: docs-doxygen
80 docs-pdf: docs-doxygen
81 -@$(CD) doc; $(MAKE) pdf
83 docs-clean:
84 -@$(CD) doc; $(MAKE) clean
86 docs-dist:
88 ###################################################################
89 # rules for building the source distribution
90 ###################################################################
92 source-dist:
94 ###################################################################
95 # rules for the C64 port
96 ###################################################################
98 .PHONY: c64 c64-clean
100 c64:
101 -@$(CD) platform/c64; $(MAKE) all
103 c64-clean:
104 -@$(CD) platform/c64; $(MAKE) clean
106 c64-dist:
108 c64-examples: c64-example-webserver c64-example-telnet-server c64-example-test-ipv6
110 c64-example-telnet-server:
111 -@$(CD) examples/telnet-server; $(MAKE) TARGET=c64
112 c64-example-webserver:
113 -@$(CD) examples/webserver; $(MAKE) TARGET=c64
114 c64-example-test-ipv6:
115 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=c64
117 c64-examples-clean:
118 -@$(CD) examples/telnet-server; $(MAKE) TARGET=c64 clean
119 -@$(CD) examples/webserver; $(MAKE) TARGET=c64 clean
120 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=c64 clean
122 ###################################################################
123 # rules for the ESB port
124 ###################################################################
126 .PHONY: esb esb-clean
128 esb:
129 -@$(CD) platform/esb; $(MAKE) all
131 esb-clean:
132 -@$(CD) platform/esb; $(MAKE) clean
134 esb-dist:
136 esb-examples:
137 esb-examples-clean:
139 ###################################################################
140 # rules for the ethernut1 port
141 ###################################################################
143 .PHONY: ethernut1 ethernut1-clean
145 ethernut1:
146 # -@$(CD) platform/ethernut1; $(MAKE) all
148 ethernut1-clean:
149 # -@$(CD) platform/ethernut1; $(MAKE) clean
151 ethernut1-dist:
153 ethernut1-examples:
154 ethernut1-examples-clean:
156 ###################################################################
157 # rules for the ethernut2 port
158 ###################################################################
160 .PHONY: ethernut2 ethernut2-clean
162 ethernut2:
163 # -@$(CD) platform/ethernut2; $(MAKE) all
165 ethernut2-clean:
166 # -@$(CD) platform/ethernut2; $(MAKE) clean
168 ethernut2-dist:
170 ethernut2-examples:
171 ethernut2-examples-clean:
173 ###################################################################
174 # rules for the GTK port
175 ###################################################################
177 .PHONY: gtk gtk-clean
179 gtk:
180 -@$(CD) platform/gtk; $(MAKE) all
181 gtk-clean:
182 -@$(CD) platform/gtk; $(MAKE) clean
184 gtk-examples: gtk-example-webserver gtk-example-telnet-server gtk-example-test-ipv6
186 gtk-example-telnet-server:
187 -@$(CD) examples/telnet-server; $(MAKE) TARGET=gtk
188 gtk-example-webserver:
189 -@$(CD) examples/webserver; $(MAKE) TARGET=gtk
190 gtk-example-test-ipv6:
191 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=gtk
193 gtk-examples-clean:
194 -@$(CD) examples/telnet-server; $(MAKE) TARGET=gtk clean
195 -@$(CD) examples/webserver; $(MAKE) TARGET=gtk clean
196 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=gtk clean
198 gtk-dist:
200 ###################################################################
201 # rules for the minimal-net port
202 ###################################################################
204 .PHONY: minimal-net minimal-net-clean
206 minimal-net:
207 # -@$(CD) platform/minimal-net; $(MAKE) all
209 minimal-net-clean:
210 # -@$(CD) platform/minimal-net; $(MAKE) clean
212 minimal-net-dist:
214 minimal-net-examples: minimal-net-example-telnet-server minimal-net-example-webserver minimal-net-example-test-ipv6
216 minimal-net-example-telnet-server:
217 -@$(CD) examples/telnet-server; $(MAKE) TARGET=minimal-net
218 minimal-net-example-webserver:
219 -@$(CD) examples/webserver; $(MAKE) TARGET=minimal-net
220 minimal-net-example-test-ipv6:
221 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=minimal-net
223 minimal-net-examples-clean:
224 -@$(CD) examples/telnet-server; $(MAKE) TARGET=minimal-net clean
225 -@$(CD) examples/webserver; $(MAKE) TARGET=minimal-net clean
226 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=minimal-net clean
228 ###################################################################
229 # rules for the minimal-ppp port
230 ###################################################################
232 .PHONY: minimal-ppp minimal-ppp-clean
234 minimal-ppp:
235 -@$(CD) platform/minimal-ppp; $(MAKE) all
237 minimal-ppp-clean:
238 -@$(CD) platform/minimal-ppp; $(MAKE) clean
240 minimal-ppp-dist:
242 minimal-ppp-examples:
243 minimal-ppp-examples-clean:
245 ###################################################################
246 # rules for the native port
247 ###################################################################
249 .PHONY: native native-clean
251 native:
252 # -@$(CD) platform/native; $(MAKE) all
254 native-clean:
255 # -@$(CD) platform/native; $(MAKE) clean
257 native-dist:
259 native-examples: native-example-telnet-server native-example-webserver native-example-test-ipv6
261 native-example-telnet-server:
262 -@$(CD) examples/telnet-server; $(MAKE) TARGET=native
263 native-example-webserver:
264 -@$(CD) examples/webserver; $(MAKE) TARGET=native
265 native-example-test-ipv6:
266 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=native
268 native-examples-clean:
269 -@$(CD) examples/telnet-server; $(MAKE) TARGET=native clean
270 -@$(CD) examples/webserver; $(MAKE) TARGET=native clean
271 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=native clean
273 ###################################################################
274 # rules for the netsim port
275 ###################################################################
277 .PHONY: netsim netsim-clean
279 netsim:
280 # -@$(CD) platform/netsim; $(MAKE) all
282 netsim-clean:
283 # -@$(CD) platform/netsim; $(MAKE) clean
285 netsim-dist:
287 netsim-examples:
289 netsim-examples-clean:
290 -@$(CD) examples/telnet-server; $(MAKE) TARGET=netsim clean
291 -@$(CD) examples/webserver; $(MAKE) TARGET=netsim clean
292 -@$(CD) examples/test-ipv6; $(MAKE) TARGET=netsim clean