1 # Makefile for the OpenMoko FSO development system
2 # Licensed under the GPL v2 or later
4 BITBAKE_VERSION
= branches
/bitbake-1.8
6 FSO_STABLE_MILESTONE
= milestone5.5
7 FSO_STABLE_BRANCH
= fso
/${FSO_STABLE_MILESTONE}
8 FSO_STABLE_VERSION
= fso
/${FSO_STABLE_MILESTONE}
14 setup
: setup-common setup-bitbake setup-openembedded \
15 setup-fso-unstable setup-fso-testing setup-fso-
${FSO_STABLE_MILESTONE}
18 prefetch
: prefetch-fso-unstable prefetch-fso-testing prefetch-fso-
${FSO_STABLE_MILESTONE}
22 [ ! -e common
] ||
${MAKE} update-common
23 [ ! -e bitbake
] ||
${MAKE} update-bitbake
24 [ ! -e openembedded
] ||
${MAKE} update-openembedded
25 [ ! -e fso-unstable
] ||
${MAKE} update-fso-unstable
26 [ ! -e fso-testing
] ||
${MAKE} update-fso-testing
27 [ ! -e fso-
${FSO_STABLE_MILESTONE} ] ||
${MAKE} update-fso-
${FSO_STABLE_MILESTONE}
31 [ ! -e fso-unstable
] ||
${MAKE} fso-unstable-image
32 [ ! -e fso-testing
] ||
${MAKE} fso-testing-image
33 [ ! -e fso-
${FSO_STABLE_MILESTONE} ] ||
${MAKE} fso-
${FSO_STABLE_MILESTONE}-image
34 [ ! -e fso-unstable
] ||
${MAKE} fso-unstable-packages
35 [ ! -e fso-testing
] ||
${MAKE} fso-testing-packages
36 [ ! -e fso-
${FSO_STABLE_MILESTONE} ] ||
${MAKE} fso-
${FSO_STABLE_MILESTONE}-packages
39 status
: status-common status-bitbake status-openembedded
42 clobber: clobber-fso-unstable clobber-fso-testing clobber-fso-
${FSO_STABLE_MILESTONE}
45 distclean: distclean-bitbake distclean-openembedded \
46 distclean-fso-unstable distclean-fso-testing distclean-fso-
${FSO_STABLE_MILESTONE}
49 prefetch-
%: %/.configured
50 ( cd
$* ; ${MAKE} prefetch
)
52 .PHONY
: fso-unstable-image
53 fso-unstable-image
: fso-gta01-unstable-image fso-gta02-unstable-image fso-a780-unstable-image
55 .PHONY
: fso-testing-image
56 fso-testing-image
: fso-gta01-testing-image fso-gta02-testing-image fso-a780-testing-image
58 .PHONY
: fso-
${FSO_STABLE_MILESTONE}-image
59 fso-
${FSO_STABLE_MILESTONE}-image
: fso-gta01-
${FSO_STABLE_MILESTONE}-image fso-gta02-
${FSO_STABLE_MILESTONE}-image fso-a780-
${FSO_STABLE_MILESTONE}-image
61 .PHONY
: fso-gta01-
%-image
62 fso-gta01-
%-image
: fso-
%/.configured
64 ${MAKE} setup-image-fso-paroli-image
; \
65 ${MAKE} setup-machine-om-gta01
; \
68 .PHONY
: fso-gta02-
%-image
69 fso-gta02-
%-image
: fso-
%/.configured
71 ${MAKE} setup-image-fso-paroli-image
; \
72 ${MAKE} setup-machine-om-gta02
; \
75 .PHONY
: fso-a780-
%-image
76 fso-a780-
%-image
: fso-
%/.configured
78 ${MAKE} setup-image-fso-paroli-image
; \
79 ${MAKE} setup-machine-a780
; \
82 .PHONY
: fso-
%-packages
83 fso-
%-packages
: fso-gta01-
%-packages fso-gta02-
%-packages fso-a780-
%-packages
85 .PHONY
: fso-gta01-
%-packages
86 fso-gta01-
%-packages
: fso-
%/.configured
88 ${MAKE} setup-image-fso-paroli-image
; \
89 ${MAKE} setup-machine-om-gta01
; \
90 ${MAKE} -k distro index
)
92 .PHONY
: fso-gta02-
%-packages
93 fso-gta02-
%-packages
: fso-
%/.configured
95 ${MAKE} setup-image-fso-paroli-image
; \
96 ${MAKE} setup-machine-om-gta02
; \
97 ${MAKE} -k distro index
)
99 .PHONY
: fso-a780-
%-packages
100 fso-a780-
%-packages
: fso-
%/.configured
102 ${MAKE} setup-image-fso-paroli-image
; \
103 ${MAKE} setup-machine-a780
; \
104 ${MAKE} -k distro index
)
107 fso-
%-index
: fso-
%/.configured
109 ${MAKE} setup-image-fso-paroli-image
; \
113 .PRECIOUS
: common
/.git
/config
114 setup-common common
/.git
/config
:
115 [ -e common
/.git
/config
] || \
116 ( git clone git
://git.freesmartphone.org
/fso-makefile.git common
&& \
118 ln
-s common
/Makefile Makefile
)
119 touch common
/.git
/config
121 .PHONY
: setup-bitbake
122 .PRECIOUS
: bitbake
/.svn
/entries
123 setup-bitbake bitbake
/.svn
/entries
:
124 [ -e bitbake
/.svn
/entries
] || \
125 ( svn
co svn
://svn.berlios.de
/bitbake
/${BITBAKE_VERSION} bitbake
)
126 touch bitbake
/.svn
/entries
128 .PHONY
: setup-openembedded
129 .PRECIOUS
: openembedded
/.git
/config
130 setup-openembedded openembedded
/.git
/config
:
131 [ -e openembedded
/.git
/config
] || \
132 ( git clone git
://git.openembedded.net
/openembedded openembedded
)
133 ( cd openembedded
&& \
134 ( git branch | egrep
-e
' org.openembedded.dev$$' > /dev
/null || \
135 git checkout
-b org.openembedded.dev
--track
origin/org.openembedded.dev
))
136 ( cd openembedded
&& git checkout org.openembedded.dev
)
137 touch openembedded
/.git
/config
141 ${MAKE} $*/.configured
143 .PRECIOUS
: fso-
${FSO_STABLE_MILESTONE}/.configured
144 fso-
${FSO_STABLE_MILESTONE}/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
145 [ -d fso-
${FSO_STABLE_MILESTONE} ] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE} )
146 [ -e downloads
] ||
( mkdir
-p downloads
)
147 [ -e fso-
${FSO_STABLE_MILESTONE}/Makefile
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/openembedded.mk Makefile
)
148 [ -e fso-
${FSO_STABLE_MILESTONE}/setup-env
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/setup-env .
)
149 [ -e fso-
${FSO_STABLE_MILESTONE}/downloads
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/downloads .
)
150 [ -e fso-
${FSO_STABLE_MILESTONE}/bitbake
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/bitbake .
)
151 [ -e fso-
${FSO_STABLE_MILESTONE}/openembedded
] || \
152 ( cd fso-
${FSO_STABLE_MILESTONE} ; \
153 git clone
--reference ..
/openembedded git
://git.openembedded.net
/openembedded openembedded
; \
155 git checkout
--no-track
-b
${FSO_STABLE_BRANCH} origin/${FSO_STABLE_BRANCH}; \
156 git reset
--hard
origin/${FSO_STABLE_VERSION} )
157 [ -d fso-
${FSO_STABLE_MILESTONE}/conf
] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE}/conf
)
158 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/site.conf
] ||
( cd fso-
${FSO_STABLE_MILESTONE}/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
159 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
] ||
( \
160 echo
"DISTRO = \"openmoko\"" > fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
161 echo
"MACHINE = \"om-gta02\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
162 echo
"IMAGE_TARGET = \"fso-paroli-image\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
163 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
164 echo
"INHERIT += \"rm_work\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
166 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
] ||
( \
167 echo
"# require conf/distro/include/moko-autorev.inc" > fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
168 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
170 rm -rf fso-
${FSO_STABLE_MILESTONE}/tmp
/cache
171 touch fso-
${FSO_STABLE_MILESTONE}/.configured
173 .PRECIOUS
: fso-testing
/.configured
174 fso-testing
/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
175 [ -d fso-testing
] ||
( mkdir
-p fso-testing
)
176 [ -e downloads
] ||
( mkdir
-p downloads
)
177 [ -e fso-testing
/Makefile
] ||
( cd fso-testing
; ln
-sf ..
/common
/openembedded.mk Makefile
)
178 [ -e fso-testing
/setup-env
] ||
( cd fso-testing
; ln
-sf ..
/common
/setup-env .
)
179 [ -e fso-testing
/downloads
] ||
( cd fso-testing
; ln
-sf ..
/downloads .
)
180 [ -e fso-testing
/bitbake
] ||
( cd fso-testing
; ln
-sf ..
/bitbake .
)
181 [ -e fso-testing
/openembedded
] ||
( cd fso-testing
; ln
-sf ..
/openembedded .
)
182 [ -d fso-testing
/conf
] ||
( mkdir
-p fso-testing
/conf
)
183 [ -e fso-testing
/conf
/site.conf
] ||
( cd fso-testing
/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
184 [ -e fso-testing
/conf
/auto.conf
] ||
( \
185 echo
"DISTRO = \"openmoko\"" > fso-testing
/conf
/auto.conf
; \
186 echo
"MACHINE = \"om-gta02\"" >> fso-testing
/conf
/auto.conf
; \
187 echo
"IMAGE_TARGET = \"fso-paroli-image\"" >> fso-testing
/conf
/auto.conf
; \
188 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-testing
/conf
/auto.conf
; \
189 echo
"INHERIT += \"rm_work\"" >> fso-testing
/conf
/auto.conf
; \
191 [ -e fso-testing
/conf
/local.conf
] ||
( \
192 echo
"# require conf/distro/include/moko-autorev.inc" > fso-testing
/conf
/local.conf
; \
193 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-testing
/conf
/local.conf
; \
195 rm -rf fso-testing
/tmp
/cache
196 touch fso-testing
/.configured
198 .PRECIOUS
: fso-unstable
/.configured
199 fso-unstable
/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
200 [ -d fso-unstable
] ||
( mkdir
-p fso-unstable
)
201 [ -e downloads
] ||
( mkdir
-p downloads
)
202 [ -e fso-unstable
/Makefile
] ||
( cd fso-unstable
; ln
-sf ..
/common
/openembedded.mk Makefile
)
203 [ -e fso-unstable
/setup-env
] ||
( cd fso-unstable
; ln
-sf ..
/common
/setup-env .
)
204 [ -e fso-unstable
/downloads
] ||
( cd fso-unstable
; ln
-sf ..
/downloads .
)
205 [ -e fso-unstable
/bitbake
] ||
( cd fso-unstable
; ln
-sf ..
/bitbake .
)
206 [ -e fso-unstable
/openembedded
] ||
( cd fso-unstable
; ln
-sf ..
/openembedded .
)
207 [ -d fso-unstable
/conf
] ||
( mkdir
-p fso-unstable
/conf
)
208 [ -e fso-unstable
/conf
/site.conf
] ||
( cd fso-unstable
/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
209 [ -e fso-unstable
/conf
/auto.conf
] ||
( \
210 echo
"DISTRO = \"openmoko\"" > fso-unstable
/conf
/auto.conf
; \
211 echo
"MACHINE = \"om-gta02\"" >> fso-unstable
/conf
/auto.conf
; \
212 echo
"IMAGE_TARGET = \"fso-paroli-image\"" >> fso-unstable
/conf
/auto.conf
; \
213 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-unstable
/conf
/auto.conf
; \
214 echo
"INHERIT += \"rm_work\"" >> fso-unstable
/conf
/auto.conf
; \
216 [ -e fso-unstable
/conf
/local.conf
] ||
( \
217 echo
"require conf/distro/include/moko-autorev.inc" > fso-unstable
/conf
/local.conf
; \
218 echo
"require conf/distro/include/fso-autorev.inc" >> fso-unstable
/conf
/local.conf
; \
220 rm -rf fso-unstable
/tmp
/cache
221 touch fso-unstable
/.configured
223 .PHONY
: update-common
224 update-common
: common
/.git
/config
225 ( cd common
; git pull
)
227 .PHONY
: update-bitbake
228 update-bitbake
: bitbake
/.svn
/entries
229 ( cd bitbake
; svn up
)
231 .PHONY
: update-openembedded
232 update-openembedded
: openembedded
/.git
/config
233 ( cd openembedded
; git pull
)
235 .PHONY
: update-fso-unstable
236 update-fso-unstable
: fso-unstable
/.configured
238 .PHONY
: update-fso-testing
239 update-fso-testing
: fso-testing
/.configured
241 .PHONY
: update-fso-
${FSO_STABLE_MILESTONE}
242 update-fso-
${FSO_STABLE_MILESTONE}: fso-
${FSO_STABLE_MILESTONE}/.configured
243 ( cd fso-
${FSO_STABLE_MILESTONE}/openembedded
; \
245 git checkout
${FSO_STABLE_BRANCH} ; \
246 git reset
--hard
origin/${FSO_STABLE_VERSION} )
248 .PHONY
: status-common
249 status-common
: common
/.git
/config
250 ( cd common
; git diff
--stat
)
252 .PHONY
: status-bitbake
253 status-bitbake
: bitbake
/.svn
/entries
254 ( cd bitbake
; svn status
)
256 .PHONY
: status-openembedded
257 status-openembedded
: openembedded
/.git
/config
258 ( cd openembedded
; git diff
--stat
)
262 [ ! -e
$*/Makefile
] ||
( cd
$* ; ${MAKE} clobber )
264 .PHONY
: distclean-bitbake
268 .PHONY
: distclean-openembedded
269 distclean-openembedded
:
280 push-common
: update-common
281 ( cd common
; git push ssh
://git@git.freesmartphone.org
/fso-makefile.git
)