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
7 FSO_STABLE_BRANCH
= fso
/${FSO_STABLE_MILESTONE}
8 FSO_STABLE_VERSION
= fso
/${FSO_STABLE_MILESTONE}
14 prefetch
: prefetch-fso-unstable prefetch-fso-testing prefetch-fso-
${FSO_STABLE_MILESTONE}
18 [ ! -e fso-unstable
] ||
${MAKE} fso-unstable-image
19 [ ! -e fso-testing
] ||
${MAKE} fso-testing-image
20 [ ! -e fso-
${FSO_STABLE_MILESTONE} ] ||
${MAKE} fso-
${FSO_STABLE_MILESTONE}-image
21 [ ! -e fso-unstable
] ||
${MAKE} fso-unstable-packages
22 [ ! -e fso-testing
] ||
${MAKE} fso-testing-packages
23 [ ! -e fso-
${FSO_STABLE_MILESTONE} ] ||
${MAKE} fso-
${FSO_STABLE_MILESTONE}-packages
26 setup
: setup-common setup-bitbake setup-openembedded \
27 setup-fso-unstable setup-fso-testing setup-fso-
${FSO_STABLE_MILESTONE}
30 update
: update-common update-bitbake update-openembedded \
31 update-fso-
${FSO_STABLE_MILESTONE}
34 status
: status-common status-bitbake status-openembedded
37 clobber: clobber-fso-unstable clobber-fso-testing clobber-fso-
${FSO_STABLE_MILESTONE}
40 distclean: distclean-bitbake distclean-openembedded \
41 distclean-fso-unstable distclean-fso-testing distclean-fso-
${FSO_STABLE_MILESTONE}
44 prefetch-
%: %/.configured
45 ( cd
$* ; ${MAKE} prefetch
)
47 .PHONY
: fso-unstable-image
48 fso-unstable-image
: fso-gta01-unstable-image fso-gta02-unstable-image fso-a780-unstable-image
50 .PHONY
: fso-testing-image
51 fso-testing-image
: fso-gta01-testing-image fso-gta02-testing-image fso-a780-testing-image
53 .PHONY
: fso-
${FSO_STABLE_MILESTONE}-image
54 fso-
${FSO_STABLE_MILESTONE}-image
: fso-gta01-
${FSO_STABLE_MILESTONE}-image fso-gta02-
${FSO_STABLE_MILESTONE}-image fso-a780-
${FSO_STABLE_MILESTONE}-image
56 .PHONY
: fso-gta01-
%-image
57 fso-gta01-
%-image
: fso-
%/.configured
59 ${MAKE} setup-image-fso-image
; \
60 ${MAKE} setup-machine-om-gta01
; \
63 .PHONY
: fso-gta02-
%-image
64 fso-gta02-
%-image
: fso-
%/.configured
66 ${MAKE} setup-image-fso-image
; \
67 ${MAKE} setup-machine-om-gta02
; \
70 .PHONY
: fso-a780-
%-image
71 fso-a780-
%-image
: fso-
%/.configured
73 ${MAKE} setup-image-fso-image
; \
74 ${MAKE} setup-machine-a780
; \
77 .PHONY
: fso-
%-packages
78 fso-
%-packages
: fso-gta01-
%-packages fso-gta02-
%-packages fso-a780-
%-packages
80 .PHONY
: fso-gta01-
%-packages
81 fso-gta01-
%-packages
: fso-
%/.configured
83 ${MAKE} setup-image-fso-image
; \
84 ${MAKE} setup-machine-om-gta01
; \
85 ${MAKE} -k distro index
)
87 .PHONY
: fso-gta02-
%-packages
88 fso-gta02-
%-packages
: fso-
%/.configured
90 ${MAKE} setup-image-fso-image
; \
91 ${MAKE} setup-machine-om-gta02
; \
92 ${MAKE} -k distro index
)
94 .PHONY
: fso-a780-
%-packages
95 fso-a780-
%-packages
: fso-
%/.configured
97 ${MAKE} setup-image-fso-image
; \
98 ${MAKE} setup-machine-a780
; \
99 ${MAKE} -k distro index
)
102 fso-
%-index
: fso-
%/.configured
104 ${MAKE} setup-image-fso-image
; \
108 .PRECIOUS
: common
/.git
/config
109 setup-common common
/.git
/config
:
110 [ -e common
/.git
/config
] || \
111 ( git clone git
://git.freesmartphone.org
/fso-makefile.git common
&& \
113 ln
-s common
/Makefile Makefile
)
114 touch common
/.git
/config
116 .PHONY
: setup-bitbake
117 .PRECIOUS
: bitbake
/.svn
/entries
118 setup-bitbake bitbake
/.svn
/entries
:
119 [ -e bitbake
/.svn
/entries
] || \
120 ( svn
co svn
://svn.berlios.de
/bitbake
/${BITBAKE_VERSION} bitbake
)
121 touch bitbake
/.svn
/entries
123 .PHONY
: setup-openembedded
124 .PRECIOUS
: openembedded
/.git
/config
125 setup-openembedded openembedded
/.git
/config
:
126 [ -e openembedded
/.git
/config
] || \
127 ( git clone git
://git.openembedded.net
/openembedded openembedded
)
128 ( cd openembedded
&& \
129 ( git branch | egrep
-e
' org.openembedded.dev$$' > /dev
/null || \
130 git checkout
-b org.openembedded.dev
--track
origin/org.openembedded.dev
))
131 ( cd openembedded
&& git checkout org.openembedded.dev
)
132 touch openembedded
/.git
/config
136 ${MAKE} $*/.configured
138 .PRECIOUS
: fso-
${FSO_STABLE_MILESTONE}/.configured
139 fso-
${FSO_STABLE_MILESTONE}/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
140 [ -d fso-
${FSO_STABLE_MILESTONE} ] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE} )
141 [ -e downloads
] ||
( mkdir
-p downloads
)
142 [ -e fso-
${FSO_STABLE_MILESTONE}/Makefile
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/openembedded.mk Makefile
)
143 [ -e fso-
${FSO_STABLE_MILESTONE}/setup-env
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/setup-env .
)
144 [ -e fso-
${FSO_STABLE_MILESTONE}/downloads
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/downloads .
)
145 [ -e fso-
${FSO_STABLE_MILESTONE}/bitbake
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/bitbake .
)
146 [ -e fso-
${FSO_STABLE_MILESTONE}/openembedded
] || \
147 ( cd fso-
${FSO_STABLE_MILESTONE} ; \
148 git clone
--reference ..
/openembedded git
://git.openembedded.net
/openembedded openembedded
; \
150 git checkout
--no-track
-b
${FSO_STABLE_BRANCH} origin/${FSO_STABLE_BRANCH}; \
151 git reset
--hard
origin/${FSO_STABLE_VERSION} )
152 [ -d fso-
${FSO_STABLE_MILESTONE}/conf
] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE}/conf
)
153 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/site.conf
] ||
( cd fso-
${FSO_STABLE_MILESTONE}/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
154 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
] ||
( \
155 echo
"DISTRO = \"openmoko\"" > fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
156 echo
"MACHINE = \"om-gta02\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
157 echo
"IMAGE_TARGET = \"fso-image\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
158 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
159 echo
"INHERIT += \"rm_work\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
161 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
] ||
( \
162 echo
"# require conf/distro/include/moko-autorev.inc" > fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
163 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
165 rm -rf fso-
${FSO_STABLE_MILESTONE}/tmp
/cache
166 touch fso-
${FSO_STABLE_MILESTONE}/.configured
168 .PRECIOUS
: fso-testing
/.configured
169 fso-testing
/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
170 [ -d fso-testing
] ||
( mkdir
-p fso-testing
)
171 [ -e downloads
] ||
( mkdir
-p downloads
)
172 [ -e fso-testing
/Makefile
] ||
( cd fso-testing
; ln
-sf ..
/common
/openembedded.mk Makefile
)
173 [ -e fso-testing
/setup-env
] ||
( cd fso-testing
; ln
-sf ..
/common
/setup-env .
)
174 [ -e fso-testing
/downloads
] ||
( cd fso-testing
; ln
-sf ..
/downloads .
)
175 [ -e fso-testing
/bitbake
] ||
( cd fso-testing
; ln
-sf ..
/bitbake .
)
176 [ -e fso-testing
/openembedded
] ||
( cd fso-testing
; ln
-sf ..
/openembedded .
)
177 [ -d fso-testing
/conf
] ||
( mkdir
-p fso-testing
/conf
)
178 [ -e fso-testing
/conf
/site.conf
] ||
( cd fso-testing
/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
179 [ -e fso-testing
/conf
/auto.conf
] ||
( \
180 echo
"DISTRO = \"openmoko\"" > fso-testing
/conf
/auto.conf
; \
181 echo
"MACHINE = \"om-gta02\"" >> fso-testing
/conf
/auto.conf
; \
182 echo
"IMAGE_TARGET = \"fso-image\"" >> fso-testing
/conf
/auto.conf
; \
183 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-testing
/conf
/auto.conf
; \
184 echo
"INHERIT += \"rm_work\"" >> fso-testing
/conf
/auto.conf
; \
186 [ -e fso-testing
/conf
/local.conf
] ||
( \
187 echo
"# require conf/distro/include/moko-autorev.inc" > fso-testing
/conf
/local.conf
; \
188 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-testing
/conf
/local.conf
; \
190 rm -rf fso-testing
/tmp
/cache
191 touch fso-testing
/.configured
193 .PRECIOUS
: fso-unstable
/.configured
194 fso-unstable
/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
195 [ -d fso-unstable
] ||
( mkdir
-p fso-unstable
)
196 [ -e downloads
] ||
( mkdir
-p downloads
)
197 [ -e fso-unstable
/Makefile
] ||
( cd fso-unstable
; ln
-sf ..
/common
/openembedded.mk Makefile
)
198 [ -e fso-unstable
/setup-env
] ||
( cd fso-unstable
; ln
-sf ..
/common
/setup-env .
)
199 [ -e fso-unstable
/downloads
] ||
( cd fso-unstable
; ln
-sf ..
/downloads .
)
200 [ -e fso-unstable
/bitbake
] ||
( cd fso-unstable
; ln
-sf ..
/bitbake .
)
201 [ -e fso-unstable
/openembedded
] ||
( cd fso-unstable
; ln
-sf ..
/openembedded .
)
202 [ -d fso-unstable
/conf
] ||
( mkdir
-p fso-unstable
/conf
)
203 [ -e fso-unstable
/conf
/site.conf
] ||
( cd fso-unstable
/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
204 [ -e fso-unstable
/conf
/auto.conf
] ||
( \
205 echo
"DISTRO = \"openmoko\"" > fso-unstable
/conf
/auto.conf
; \
206 echo
"MACHINE = \"om-gta02\"" >> fso-unstable
/conf
/auto.conf
; \
207 echo
"IMAGE_TARGET = \"fso-image\"" >> fso-unstable
/conf
/auto.conf
; \
208 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-unstable
/conf
/auto.conf
; \
209 echo
"INHERIT += \"rm_work\"" >> fso-unstable
/conf
/auto.conf
; \
211 [ -e fso-unstable
/conf
/local.conf
] ||
( \
212 echo
"require conf/distro/include/moko-autorev.inc" > fso-unstable
/conf
/local.conf
; \
213 echo
"require conf/distro/include/fso-autorev.inc" >> fso-unstable
/conf
/local.conf
; \
215 rm -rf fso-unstable
/tmp
/cache
216 touch fso-unstable
/.configured
218 .PHONY
: update-common
219 update-common
: common
/.git
/config
220 ( cd common
; git pull
)
222 .PHONY
: update-bitbake
223 update-bitbake
: bitbake
/.svn
/entries
224 ( cd bitbake
; svn up
)
226 .PHONY
: update-openembedded
227 update-openembedded
: openembedded
/.git
/config
228 ( cd openembedded
; git pull
)
230 .PHONY
: update-fso-
${FSO_STABLE_MILESTONE}
231 update-fso-
${FSO_STABLE_MILESTONE}: fso-
${FSO_STABLE_MILESTONE}/.configured
232 ( cd fso-
${FSO_STABLE_MILESTONE}/openembedded
; \
234 git checkout
${FSO_STABLE_BRANCH} ; \
235 git reset
--hard
origin/${FSO_STABLE_VERSION} )
237 .PHONY
: status-common
238 status-common
: common
/.git
/config
239 ( cd common
; git diff
--stat
)
241 .PHONY
: status-bitbake
242 status-bitbake
: bitbake
/.svn
/entries
243 ( cd bitbake
; svn status
)
245 .PHONY
: status-openembedded
246 status-openembedded
: openembedded
/.git
/config
247 ( cd openembedded
; git diff
--stat
)
251 [ ! -e
$*/Makefile
] ||
( cd
$* ; ${MAKE} clobber )
253 .PHONY
: distclean-bitbake
257 .PHONY
: distclean-openembedded
258 distclean-openembedded
:
269 push-common
: update-common
270 ( cd common
; git push ssh
://git@git.freesmartphone.org
/fso-makefile.git
)