Improved the setup-fso- target
[fso-makefile.git] / Makefile
blobe94577599f3fa84ab7e8955be845c3f37f80e7ed
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-%-image
48 fso-%-image: fso-gta01-%-image fso-gta02-%-image fso-a780-%-image
50 .PHONY: fso-gta01-%-image
51 fso-gta01-%-image: fso-%/.configured
52 ( cd fso-$* ; \
53 ${MAKE} setup-image-fso-image ; \
54 ${MAKE} setup-machine-om-gta01 ; \
55 ${MAKE} -k image )
57 .PHONY: fso-gta02-%-image
58 fso-gta02-%-image: fso-%/.configured
59 ( cd fso-$* ; \
60 ${MAKE} setup-image-fso-image ; \
61 ${MAKE} setup-machine-om-gta02 ; \
62 ${MAKE} -k image )
64 .PHONY: fso-a780-%-image
65 fso-a780-%-image: fso-%/.configured
66 ( cd fso-$* ; \
67 ${MAKE} setup-image-fso-image ; \
68 ${MAKE} setup-machine-a780 ; \
69 ${MAKE} -k image )
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
76 ( cd fso-$* ; \
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
83 ( cd fso-$* ; \
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
90 ( cd fso-$* ; \
91 ${MAKE} setup-image-fso-image ; \
92 ${MAKE} setup-machine-a780 ; \
93 ${MAKE} -k distro index )
95 .PHONY: fso-%-index
96 fso-%-index: fso-%/.configured
97 ( cd fso-$* ; \
98 ${MAKE} setup-image-fso-image ; \
99 ${MAKE} -k index)
101 .PHONY: setup-common
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 && \
106 rm -f Makefile && \
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
128 .PHONY: setup-%
129 setup-%:
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; \
143 cd 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 ; \
202 git fetch ; \
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 )
218 .PHONY: clobber-%
219 clobber-%:
220 [ ! -e $*/Makefile ] || ( cd $* ; ${MAKE} clobber )
222 .PHONY: distclean-bitbake
223 distclean-bitbake:
224 rm -rf bitbake
226 .PHONY: distclean-openembedded
227 distclean-openembedded:
228 rm -rf openembedded
230 .PHONY: distclean-%
231 distclean-%:
232 rm -rf $*
234 .PHONY: push
235 push: push-common
237 .PHONY: push-common
238 push-common: update-common
239 ( cd common ; git push --all ssh://git@git.freesmartphone.org/fso-makefile.git )
241 # End of Makefile