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
)
48 fso-
%-image
: fso-gta01-
%-image fso-gta02-
%-image fso-a780-
%-image
50 .PHONY
: fso-gta01-
%-image
51 fso-gta01-
%-image
: fso-
%/.configured
53 ${MAKE} setup-image-fso-image
; \
54 ${MAKE} setup-machine-om-gta01
; \
57 .PHONY
: fso-gta02-
%-image
58 fso-gta02-
%-image
: fso-
%/.configured
60 ${MAKE} setup-image-fso-image
; \
61 ${MAKE} setup-machine-om-gta02
; \
64 .PHONY
: fso-a780-
%-image
65 fso-a780-
%-image
: fso-
%/.configured
67 ${MAKE} setup-image-fso-image
; \
68 ${MAKE} setup-machine-a780
; \
71 .PHONY
: fso-
%-packages
72 fso-
%-packages
: fso-gta01-
%-packages fso-gta02-
%-packages fso-a780-
%-packages
74 .PHONY
: fso-gta01-
%-packages
75 fso-gta01-
%-packages
: fso-
%/.configured
77 ${MAKE} setup-image-fso-image
; \
78 ${MAKE} setup-machine-om-gta01
; \
79 ${MAKE} -k distro index
)
81 .PHONY
: fso-gta02-
%-packages
82 fso-gta02-
%-packages
: fso-
%/.configured
84 ${MAKE} setup-image-fso-image
; \
85 ${MAKE} setup-machine-om-gta02
; \
86 ${MAKE} -k distro index
)
88 .PHONY
: fso-a780-
%-packages
89 fso-a780-
%-packages
: fso-
%/.configured
91 ${MAKE} setup-image-fso-image
; \
92 ${MAKE} setup-machine-a780
; \
93 ${MAKE} -k distro index
)
96 fso-
%-index
: fso-
%/.configured
98 ${MAKE} setup-image-fso-image
; \
102 .PRECIOUS
: common
/.git
/config
103 setup-common common
/.git
/config
:
104 [ -e common
/.git
/config
] || \
105 ( git clone git
://git.freesmartphone.org
/fso-makefile.git common
&& \
107 ln
-s common
/Makefile Makefile
)
108 touch common
/.git
/config
110 .PHONY
: setup-bitbake
111 .PRECIOUS
: bitbake
/.svn
/entries
112 setup-bitbake bitbake
/.svn
/entries
:
113 [ -e bitbake
/.svn
/entries
] || \
114 ( svn
co svn
://svn.berlios.de
/bitbake
/${BITBAKE_VERSION} bitbake
)
115 touch bitbake
/.svn
/entries
117 .PHONY
: setup-openembedded
118 .PRECIOUS
: openembedded
/.git
/config
119 setup-openembedded openembedded
/.git
/config
:
120 [ -e openembedded
/.git
/config
] || \
121 ( git clone git
://git.openembedded.net
/openembedded openembedded
)
122 ( cd openembedded
&& \
123 ( git branch | egrep
-e
' org.openembedded.dev$$' > /dev
/null || \
124 git checkout
-b org.openembedded.dev
--track
origin/org.openembedded.dev
))
125 ( cd openembedded
&& git checkout org.openembedded.dev
)
126 touch openembedded
/.git
/config
130 ${MAKE} $*/.configured
132 .PRECIOUS
: fso-
${FSO_STABLE_MILESTONE}/.configured
133 fso-
${FSO_STABLE_MILESTONE}/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
134 [ -d fso-
${FSO_STABLE_MILESTONE} ] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE} )
135 [ -e downloads
] ||
( mkdir
-p downloads
)
136 [ -e fso-
${FSO_STABLE_MILESTONE}/Makefile
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/openembedded.mk Makefile
)
137 [ -e fso-
${FSO_STABLE_MILESTONE}/setup-env
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/common
/setup-env .
)
138 [ -e fso-
${FSO_STABLE_MILESTONE}/downloads
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/downloads .
)
139 [ -e fso-
${FSO_STABLE_MILESTONE}/bitbake
] ||
( cd fso-
${FSO_STABLE_MILESTONE} ; ln
-sf ..
/bitbake .
)
140 [ -e fso-
${FSO_STABLE_MILESTONE}/openembedded
] || \
141 ( cd fso-
${FSO_STABLE_MILESTONE} ; \
142 git clone
--reference ..
/openembedded git
://git.openembedded.net
/openembedded openembedded
; \
144 git checkout
--no-track
-b
${FSO_STABLE_BRANCH} origin/${FSO_STABLE_BRANCH}; \
145 git reset
--hard
origin/${FSO_STABLE_VERSION} )
146 [ -d fso-
${FSO_STABLE_MILESTONE}/conf
] ||
( mkdir
-p fso-
${FSO_STABLE_MILESTONE}/conf
)
147 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/site.conf
] ||
( cd fso-
${FSO_STABLE_MILESTONE}/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
148 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
] ||
( \
149 echo
"DISTRO = \"openmoko\"" > fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
150 echo
"MACHINE = \"om-gta02\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
151 echo
"IMAGE_TARGET = \"fso-image\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
152 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
153 echo
"INHERIT += \"rm_work\"" >> fso-
${FSO_STABLE_MILESTONE}/conf
/auto.conf
; \
155 [ -e fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
] ||
( \
156 echo
"# require conf/distro/include/moko-autorev.inc" > fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
157 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-
${FSO_STABLE_MILESTONE}/conf
/local.conf
; \
159 rm -rf fso-
${FSO_STABLE_MILESTONE}/tmp
/cache
160 touch fso-
${FSO_STABLE_MILESTONE}/.configured
162 .PRECIOUS
: fso-
%/.configured
163 fso-
%/.configured
: common
/.git
/config bitbake
/.svn
/entries openembedded
/.git
/config
164 [ -d fso-
$* ] ||
( mkdir
-p fso-
$* )
165 [ -e downloads
] ||
( mkdir
-p downloads
)
166 [ -e fso-
$*/Makefile
] ||
( cd fso-
$* ; ln
-sf ..
/common
/openembedded.mk Makefile
)
167 [ -e fso-
$*/setup-env
] ||
( cd fso-
$* ; ln
-sf ..
/common
/setup-env .
)
168 [ -e fso-
$*/downloads
] ||
( cd fso-
$* ; ln
-sf ..
/downloads .
)
169 [ -e fso-
$*/bitbake
] ||
( cd fso-
$* ; ln
-sf ..
/bitbake .
)
170 [ -e fso-
$*/openembedded
] ||
( cd fso-
$* ; ln
-sf ..
/openembedded .
)
171 [ -d fso-
$*/conf
] ||
( mkdir
-p fso-
$*/conf
)
172 [ -e fso-
$*/conf
/site.conf
] ||
( cd fso-
$*/conf
; ln
-sf ..
/..
/common
/conf
/site.conf .
)
173 [ -e fso-
$*/conf
/auto.conf
] ||
( \
174 echo
"DISTRO = \"openmoko\"" > fso-
$*/conf
/auto.conf
; \
175 echo
"MACHINE = \"om-gta02\"" >> fso-
$*/conf
/auto.conf
; \
176 echo
"IMAGE_TARGET = \"fso-image\"" >> fso-
$*/conf
/auto.conf
; \
177 echo
"DISTRO_TARGET = \"openmoko-feed\"" >> fso-
$*/conf
/auto.conf
; \
178 echo
"INHERIT += \"rm_work\"" >> fso-
$*/conf
/auto.conf
; \
180 [ -e fso-
$*/conf
/local.conf
] ||
( \
181 echo
"# require conf/distro/include/moko-autorev.inc" > fso-
$*/conf
/local.conf
; \
182 echo
"# require conf/distro/include/fso-autorev.inc" >> fso-
$*/conf
/local.conf
; \
184 rm -rf fso-
$*/tmp
/cache
185 touch fso-
$*/.configured
187 .PHONY
: update-common
188 update-common
: common
/.git
/config
189 ( cd common
; git pull
)
191 .PHONY
: update-bitbake
192 update-bitbake
: bitbake
/.svn
/entries
193 ( cd bitbake
; svn up
)
195 .PHONY
: update-openembedded
196 update-openembedded
: openembedded
/.git
/config
197 ( cd openembedded
; git pull
)
199 .PHONY
: update-fso-
${FSO_STABLE_MILESTONE}
200 update-fso-
${FSO_STABLE_MILESTONE}: fso-
${FSO_STABLE_MILESTONE}/.configured
201 ( cd fso-
${FSO_STABLE_MILESTONE}/openembedded
; \
203 git checkout
${FSO_STABLE_BRANCH} ; \
204 git reset
--hard
origin/${FSO_STABLE_VERSION} )
206 .PHONY
: status-common
207 status-common
: common
/.git
/config
208 ( cd common
; git diff
--stat
)
210 .PHONY
: status-bitbake
211 status-bitbake
: bitbake
/.svn
/entries
212 ( cd bitbake
; svn status
)
214 .PHONY
: status-openembedded
215 status-openembedded
: openembedded
/.git
/config
216 ( cd openembedded
; git diff
--stat
)
220 [ ! -e
$*/Makefile
] ||
( cd
$* ; ${MAKE} clobber )
222 .PHONY
: distclean-bitbake
226 .PHONY
: distclean-openembedded
227 distclean-openembedded
:
238 push-common
: update-common
239 ( cd common
; git push
--all ssh
://git@git.freesmartphone.org
/fso-makefile.git
)