Makefile: fixed the push-common target
[fso-makefile.git] / Makefile
blob7946e77ebcd3541239e5c03a22cc71cd499a438f
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}
10 .PHONY: all
11 all: update build
13 .PHONY: prefetch
14 prefetch: prefetch-fso-unstable prefetch-fso-testing prefetch-fso-${FSO_STABLE_MILESTONE}
16 .PHONY: build
17 build:
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
25 .PHONY: setup
26 setup: setup-common setup-bitbake setup-openembedded \
27 setup-fso-unstable setup-fso-testing setup-fso-${FSO_STABLE_MILESTONE}
29 .PHONY: update
30 update: update-common update-bitbake update-openembedded \
31 update-fso-${FSO_STABLE_MILESTONE}
33 .PHONY: status
34 status: status-common status-bitbake status-openembedded
36 .PHONY: clobber
37 clobber: clobber-fso-unstable clobber-fso-testing clobber-fso-${FSO_STABLE_MILESTONE}
39 .PHONY: distclean
40 distclean: distclean-bitbake distclean-openembedded \
41 distclean-fso-unstable distclean-fso-testing distclean-fso-${FSO_STABLE_MILESTONE}
43 .PHONY: prefetch-%
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
58 ( cd fso-$* ; \
59 ${MAKE} setup-image-fso-image ; \
60 ${MAKE} setup-machine-om-gta01 ; \
61 ${MAKE} -k image )
63 .PHONY: fso-gta02-%-image
64 fso-gta02-%-image: fso-%/.configured
65 ( cd fso-$* ; \
66 ${MAKE} setup-image-fso-image ; \
67 ${MAKE} setup-machine-om-gta02 ; \
68 ${MAKE} -k image )
70 .PHONY: fso-a780-%-image
71 fso-a780-%-image: fso-%/.configured
72 ( cd fso-$* ; \
73 ${MAKE} setup-image-fso-image ; \
74 ${MAKE} setup-machine-a780 ; \
75 ${MAKE} -k image )
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
82 ( cd fso-$* ; \
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
89 ( cd fso-$* ; \
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
96 ( cd fso-$* ; \
97 ${MAKE} setup-image-fso-image ; \
98 ${MAKE} setup-machine-a780 ; \
99 ${MAKE} -k distro index )
101 .PHONY: fso-%-index
102 fso-%-index: fso-%/.configured
103 ( cd fso-$* ; \
104 ${MAKE} setup-image-fso-image ; \
105 ${MAKE} -k index)
107 .PHONY: setup-common
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 && \
112 rm -f Makefile && \
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
134 .PHONY: setup-%
135 setup-%:
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; \
149 cd 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 ; \
233 git fetch ; \
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 )
249 .PHONY: clobber-%
250 clobber-%:
251 [ ! -e $*/Makefile ] || ( cd $* ; ${MAKE} clobber )
253 .PHONY: distclean-bitbake
254 distclean-bitbake:
255 rm -rf bitbake
257 .PHONY: distclean-openembedded
258 distclean-openembedded:
259 rm -rf openembedded
261 .PHONY: distclean-%
262 distclean-%:
263 rm -rf $*
265 .PHONY: push
266 push: push-common
268 .PHONY: push-common
269 push-common: update-common
270 ( cd common ; git push ssh://git@git.freesmartphone.org/fso-makefile.git )
272 # End of Makefile