Rev 13 | Rev 17 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 13 | Rev 15 | ||
---|---|---|---|
Line 97... | Line 97... | ||
97 | NEWLIB_MD5 = bf8f1f9e3ca83d732c00a79a6ef29bc4 |
97 | NEWLIB_MD5 = bf8f1f9e3ca83d732c00a79a6ef29bc4 |
98 | 98 | ||
99 | AVR32PATCHES_ARCHIVE = avr32-gnu-toolchain-$(AVR_PATCH_REV)-source.zip |
99 | AVR32PATCHES_ARCHIVE = avr32-gnu-toolchain-$(AVR_PATCH_REV)-source.zip |
100 | AVR32PATCHES_URL=http://www.atmel.com/dyn/resources/prod_documents/$(AVR32PATCHES_ARCHIVE) |
100 | AVR32PATCHES_URL=http://www.atmel.com/dyn/resources/prod_documents/$(AVR32PATCHES_ARCHIVE) |
101 | AVR32PATCHES_MD5 = 69a03828a328068f25d457cfd8341857 |
101 | AVR32PATCHES_MD5 = 69a03828a328068f25d457cfd8341857 |
- | 102 | install_dir_avr32patches := source/avr32 |
|
102 | 103 | ||
103 | AVR32HEADERS_ARCHIVE = avr32-headers-$(AVR_HEADER_REV).zip |
104 | AVR32HEADERS_ARCHIVE = avr32-headers-$(AVR_HEADER_REV).zip |
104 | AVR32HEADERS_URL=http://www.atmel.com/dyn/resources/prod_documents/$(AVR32HEADERS_ARCHIVE) |
105 | AVR32HEADERS_URL=http://www.atmel.com/dyn/resources/prod_documents/$(AVR32HEADERS_ARCHIVE) |
105 | AVR32HEADERS_MD5 = 3293d70a46e460d342e1f939b8e0d228 |
106 | AVR32HEADERS_MD5 = 3293d70a46e460d342e1f939b8e0d228 |
106 | 107 | ||
Line 181... | Line 182... | ||
181 | define make_stamp |
182 | define make_stamp |
182 | @[ -d $(STAMP_DIR) ] || mkdir $(STAMP_DIR) |
183 | @[ -d $(STAMP_DIR) ] || mkdir $(STAMP_DIR) |
183 | date > $(STAMP_DIR)/$(1) |
184 | date > $(STAMP_DIR)/$(1) |
184 | endef |
185 | endef |
185 | 186 | ||
186 | ## delete the given directory, if it is empty |
187 | ## delete empty directories |
187 | define del_all_empty-directories |
188 | define del_empty-directories |
188 | @find . -type d -empty | xargs rm -rf |
189 | @find . -type d -empty | xargs rm -rf |
189 | endef |
190 | endef |
190 | 191 | ||
- | 192 | ## delete all empty directories |
|
- | 193 | ## need to do this several times. to remove empty sub directories |
|
- | 194 | define del_all_empty-directories |
|
- | 195 | $(call del_empty-directories) |
|
- | 196 | $(call del_empty-directories) |
|
- | 197 | $(call del_empty-directories) |
|
- | 198 | endef |
|
- | 199 | ||
- | 200 | ||
191 | ## to make the following macros more simply, we need the variables |
201 | ## to make the following macros more simply, we need the variables |
192 | ## with the tool name in lowercase. I could have changed the original |
202 | ## with the tool name in lowercase. I could have changed the original |
193 | ## definition, but I don't want to break the make convention of upper |
203 | ## definition, but I don't want to break the make convention of upper |
194 | ## case definitions for such user defined variables. |
204 | ## case definitions for such user defined variables. |
195 | 205 | ||
Line 205... | Line 215... | ||
205 | 215 | ||
206 | 216 | ||
207 | ## create the download rule and force download rule |
217 | ## create the download rule and force download rule |
208 | define DOWNLOAD_template |
218 | define DOWNLOAD_template |
209 | download-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE) |
219 | download-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE) |
210 | download-$(1)-f $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE): $(DOWNLOAD_DIR) |
220 | download-$(1)-f $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE): |
- | 221 | [ -d $(DOWNLOAD_DIR) ] || mkdir -p $(DOWNLOAD_DIR) |
|
211 | cd $(DOWNLOAD_DIR) && curl -LO $$($(1)_URL) |
222 | cd $(DOWNLOAD_DIR) && curl -LO $$($(1)_URL) |
212 | 223 | ||
213 | download-$(1)_TEXT := "Removing $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)" |
224 | download-$(1)_TEXT := "Removing $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)" |
214 | download-$(1)-remove: |
225 | download-$(1)-remove: |
215 | $(call quiet_text,$$(download-$(1)_TEXT)) |
226 | $(call quiet_text,$$(download-$(1)_TEXT)) |
Line 232... | Line 243... | ||
232 | @(rm -rf $(1)-*; \ |
243 | @(rm -rf $(1)-*; \ |
233 | t1=`openssl md5 $$< | cut -f 2 -d " " -` && \ |
244 | t1=`openssl md5 $$< | cut -f 2 -d " " -` && \ |
234 | [ "$$$$t1" = "$$($(1)_MD5)" ] || \ |
245 | [ "$$$$t1" = "$$($(1)_MD5)" ] || \ |
235 | ( echo "Bad Checksum! Please remove the following file and retry: $$<" && false )) |
246 | ( echo "Bad Checksum! Please remove the following file and retry: $$<" && false )) |
236 | $(call quiet_text,$$(extract-$(1)_TEXT)) |
247 | $(call quiet_text,$$(extract-$(1)_TEXT)) |
237 | $($(2)) $$< |
248 | $($(2)) $$< $(3) |
238 | $(call make_stamp,extract-$(1)) |
249 | $(call make_stamp,extract-$(1)) |
239 | 250 | ||
240 | extract-$(1)-remove: |
251 | extract-$(1)-remove: |
241 | rm -rf $(1)-* |
252 | rm -rf $(1)-* |
242 | $(call rm_stamp,extract-$(1)) |
253 | $(call rm_stamp,extract-$(1)) |
243 | 254 | ||
244 | PHONY += extract-$(1) extract-$(1)-f extract-$(1)-remove |
255 | PHONY += extract-$(1) extract-$(1)-f extract-$(1)-remove |
245 | endef |
256 | endef |
246 | 257 | ||
- | 258 | ## create the patch rule |
|
- | 259 | define PATCH_template |
|
- | 260 | patch-$(1)_TEXT := "Patching $$($(1)_ARCHIVE)" |
|
- | 261 | patch-$(1): $(STAMP_DIR)/patch-$(1) |
|
- | 262 | $(STAMP_DIR)/patch-$(1): $(STAMP_DIR)/extract-$(1) $(STAMP_DIR)/extract-avr32patches |
|
- | 263 | $(call quiet_text,$$(patch-$(1)_TEXT)) |
|
- | 264 | @(pushd $(1)-$$($(1)_VERSION) ; \ |
|
- | 265 | for f in ../$(install_dir_avr32patches)/$(1)/*.patch; do \ |
|
- | 266 | patch -N -p0 < $$$${f} ; \ |
|
- | 267 | done ; \ |
|
- | 268 | popd) |
|
- | 269 | $(call make_stamp,patch-$(1)) |
|
- | 270 | ||
- | 271 | patch-$(1)-remove: extract-$(1)-remove |
|
- | 272 | $(call rm_stamp,patch-$(1)) |
|
- | 273 | ||
- | 274 | PHONY += patch-$(1) patch-$(1)-remove |
|
- | 275 | endef |
|
- | 276 | ||
- | 277 | ||
- | 278 | #.PHONY: regen-binutils regen-binutils-force |
|
- | 279 | #regen-binutils: stamps/regen-binutils |
|
- | 280 | #regen-binutils-force stamps/regen-binutils: stamps/patch-binutils stamps/install-supp-tools |
|
- | 281 | # pushd binutils-$(BINUTILS_VERSION) ; \ |
|
- | 282 | # "$(SUPP_PREFIX)/bin/aclocal" -I config ; \ |
|
- | 283 | # "$(SUPP_PREFIX)/bin/autoconf" ; \ |
|
- | 284 | # "$(SUPP_PREFIX)/bin/automake" ; \ |
|
- | 285 | # "$(SUPP_PREFIX)/bin/autoheader" ; \ |
|
- | 286 | # for dir in bfd opcodes binutils gas ld; do \ |
|
- | 287 | # pushd $$dir ; \ |
|
- | 288 | # "$(SUPP_PREFIX)/bin/autoconf"; \ |
|
- | 289 | # "$(SUPP_PREFIX)/bin/automake"; \ |
|
- | 290 | # "$(SUPP_PREFIX)/bin/autoheader"; \ |
|
- | 291 | # popd ; \ |
|
- | 292 | # done; \ |
|
- | 293 | # popd; \ |
|
- | 294 | # [ -d stamps ] || mkdir stamps ; |
|
- | 295 | # touch stamps/regen-binutils; |
|
- | 296 | ||
- | 297 | ||
247 | ## create the configure rule and force configure rule |
298 | ## create the configure rule and force configure rule |
248 | define CONF_template |
299 | define CONF_template |
249 | conf-$(1)_TEXT := "Configuring $(1) $$($(1)_VERSION)" |
300 | conf-$(1)_TEXT := "Configuring $(1) $$($(1)_VERSION)" |
250 | conf-$(1): $(STAMP_DIR)/conf-$(1) |
301 | conf-$(1): $(STAMP_DIR)/conf-$(1) |
251 | conf-$(1)-f $(STAMP_DIR)/conf-$(1): $(STAMP_DIR)/$(2)-$(1) $(BUILD_DIR)/$(1) |
302 | conf-$(1)-f $(STAMP_DIR)/conf-$(1): $(STAMP_DIR)/$(2)-$(1) $(BUILD_DIR)/$(1) |
Line 304... | Line 355... | ||
304 | define CLEAN_template |
355 | define CLEAN_template |
305 | clean-$(1)_TEXT := "Cleaning $(1) $$($(1)_VERSION)" |
356 | clean-$(1)_TEXT := "Cleaning $(1) $$($(1)_VERSION)" |
306 | clean-$(1)-text: |
357 | clean-$(1)-text: |
307 | $(call quiet_text,$$(clean-$(1)_TEXT)) |
358 | $(call quiet_text,$$(clean-$(1)_TEXT)) |
308 | 359 | ||
309 | clean-$(1): clean-$(1)-text uninstall-$(1) extract-$(1)-remove build-$(1)-remove conf-$(1)-remove |
360 | clean-$(1): clean-$(1)-text uninstall-$(1) extract-$(1)-remove patch-$(1)-remove \ |
310 | $(call del_all_empty-directories) |
- | |
311 | $(call del_all_empty-directories) |
361 | build-$(1)-remove conf-$(1)-remove |
312 | $(call del_all_empty-directories) |
362 | $(call del_all_empty-directories) |
313 | 363 | ||
314 | realclean-$(1): clean-$(1) download-$(1)-remove |
364 | realclean-$(1): clean-$(1) download-$(1)-remove |
315 | $(call del_all_empty-directories) |
365 | $(call del_all_empty-directories) |
316 | $(call del_all_empty-directories) |
- | |
317 | $(call del_all_empty-directories) |
- | |
318 | 366 | ||
319 | PHONY += clean-$(1) realclean-$(1) clean-$(1)-text |
367 | PHONY += clean-$(1) realclean-$(1) clean-$(1)-text |
320 | endef |
368 | endef |
321 | 369 | ||
- | 370 | ## create some dummy rules for the clean rule |
|
- | 371 | define DUMMY_patch_remove |
|
- | 372 | patch-$(1)-remove: |
|
- | 373 | PHONY += patch-$(1)-remove |
|
- | 374 | endef |
|
- | 375 | define DUMMY_conf_remove |
|
- | 376 | conf-$(1)-remove: |
|
- | 377 | PHONY += conf-$(1)-remove |
|
- | 378 | endef |
|
- | 379 | define DUMMY_build_remove |
|
- | 380 | build-$(1)-remove: |
|
- | 381 | PHONY += build-$(1)-remove |
|
- | 382 | endef |
|
322 | 383 | ||
323 | 384 | ||
324 | - | ||
325 | $(DOWNLOAD_DIR): |
- | |
326 | mkdir -p $@ |
- | |
327 | - | ||
328 | $(BUILD_DIR)/%: |
385 | $(BUILD_DIR)/%: |
329 | mkdir -p $@ |
386 | mkdir -p $@ |
330 | 387 | ||
331 | 388 | ||
332 | ############# SUPP: AUTOCONF ############ |
389 | ############# SUPP: AUTOCONF ############ |
Line 349... | Line 406... | ||
349 | $(eval $(call BUILD_template,automake)) |
406 | $(eval $(call BUILD_template,automake)) |
350 | $(eval $(call INSTALL_template,automake)) |
407 | $(eval $(call INSTALL_template,automake)) |
351 | $(eval $(call CLEAN_template,automake)) |
408 | $(eval $(call CLEAN_template,automake)) |
352 | 409 | ||
353 | 410 | ||
- | 411 | ############# AVR32 PATCHES ############ |
|
- | 412 | ||
- | 413 | $(eval $(call DOWNLOAD_template,avr32patches)) |
|
- | 414 | $(eval $(call EXTRACT_template,avr32patches,EXT_ZIP)) |
|
- | 415 | ||
- | 416 | ## use the uninstall-XXX rule to remove the patches directory |
|
- | 417 | PHONY += uninstall-avr32patches |
|
- | 418 | uninstall-avr32patches: |
|
- | 419 | rm -rf $(install_dir_avr32patches) |
|
- | 420 | ||
- | 421 | $(eval $(call CLEAN_template,avr32patches)) |
|
- | 422 | ||
- | 423 | ||
- | 424 | ############# AVR32 HEADERS ############ |
|
- | 425 | $(eval $(call DOWNLOAD_template,avr32headers)) |
|
- | 426 | ||
- | 427 | ###### FIXME: Need to add a dependency to "stamps/install-final-gcc" |
|
- | 428 | install_path_avr32headers := $(PREFIX)/$(TARGET)/include/ |
|
- | 429 | avr32headers_unzip_opt := -d "$(install_path_avr32headers)" |
|
- | 430 | $(eval $(call EXTRACT_template,avr32headers,EXT_ZIP,$(avr32headers_unzip_opt))) |
|
- | 431 | ||
- | 432 | ## use the uninstall-XXX rule to remove the patches directory |
|
- | 433 | install_dir_avr32headers := $(install_path_avr32headers)/avr32 |
|
- | 434 | PHONY += uninstall-avr32headers |
|
- | 435 | uninstall-avr32headers: |
|
- | 436 | rm -rf $(install_dir_avr32headers) |
|
- | 437 | ||
- | 438 | $(eval $(call CLEAN_template,avr32headers)) |
|
- | 439 | ||
- | 440 | ||
- | 441 | ################ BINUTILS ################ |
|
- | 442 | ||
- | 443 | $(eval $(call DOWNLOAD_template,binutils)) |
|
- | 444 | $(eval $(call EXTRACT_template,binutils,EXT_BZ2)) |
|
- | 445 | $(eval $(call PATCH_template,binutils)) |
|
- | 446 | #$(eval $(call REGEN_template,binutils)) |
|
- | 447 | binutils_conf_opts = \ |
|
- | 448 | --enable-maintainer-mode \ |
|
- | 449 | --prefix="$(PREFIX)" --target=$(TARGET) --disable-nls \ |
|
- | 450 | --disable-shared --disable-werror \ |
|
- | 451 | --with-sysroot="$(PREFIX)/$(TARGET)" --with-bugurl=$(BUG_URL) |
|
- | 452 | $(eval $(call CONF_template,binutils,extract)) |
|
- | 453 | $(eval $(call BUILD_template,binutils)) |
|
- | 454 | $(eval $(call INSTALL_template,binutils)) |
|
- | 455 | $(eval $(call CLEAN_template,binutils)) |
|
- | 456 | ||
- | 457 | ||
- | 458 | # we need to satisfy the rules, generated by the CLEAN_template, if they not exist |
|
- | 459 | patch_remove_dummy_tools := autoconf automake avr32patches avr32headers |
|
- | 460 | $(foreach tool,$(patch_remove_dummy_tools),$(eval $(call DUMMY_patch_remove,$(tool)))) |
|
- | 461 | conf_remove_dummy_tools := avr32patches avr32headers |
|
- | 462 | $(foreach tool,$(conf_remove_dummy_tools),$(eval $(call DUMMY_conf_remove,$(tool)))) |
|
- | 463 | build_remove_dummy_tools := avr32patches avr32headers |
|
- | 464 | $(foreach tool,$(build_remove_dummy_tools),$(eval $(call DUMMY_build_remove,$(tool)))) |
|
- | 465 | ||
- | 466 | ||
354 | .PHONY: $(PHONY) |
467 | .PHONY: $(PHONY) |
355 | 468 | ||
356 | 469 | ||
357 | .PHONY: tst2 tst3 |
470 | .PHONY: tst2 tst3 |
358 | tst2: |
471 | tst2: |
359 | $(call make_stamp,JES) |
472 | $(call make_stamp,JES) |
360 | tst3: |
473 | tst3: |
361 | $(call rm_stamp,JES) |
474 | $(call rm_stamp,JES) |
362 | 475 | ||
363 | 476 | ||
- | 477 | .PHONY: help |
|
- | 478 | help: |
|
- | 479 | @echo "" |
|
- | 480 | @echo "The following targets are available:" |
|
- | 481 | @echo "" |
|
- | 482 | @echo "download-XXX : download the required package" |
|
- | 483 | @echo "extract-XXX : extract the downloaded package" |
|
- | 484 | @echo "conf-XXX : configure the extracted package" |
|
- | 485 | @echo "build-XXX : build the configured package" |
|
- | 486 | @echo "install-XXX : install the build package" |
|
- | 487 | @echo "uninstall-XXX : uninstall the installed package" |
|
- | 488 | @echo "clean-XXX : clean the package source and build tree" |
|
- | 489 | @echo "realclean-XXX : same as clean-XXX, but remove the downloaded" |
|
- | 490 | @echo " package, too" |
|
- | 491 | @echo "" |
|
- | 492 | @echo "XXX can be one of the following: " |
|
- | 493 | @echo "$(ALL_TOOLS)" |
|
- | 494 | @echo "" |
|
- | 495 | @echo "The above targets will be executed in the right order and only if" |
|
- | 496 | @echo "they need to be be really built. If you want to rebuild one of then" |
|
- | 497 | @echo "manualy, you can use the aaaa-XXX-f target (e.g.: build-autoconf-f," |
|
- | 498 | @echo "download-automake-f). Please note, that not all steps are available for" |
|
- | 499 | @echo "all tools (e.g.: install-avr32patches is not available)." |
|
- | 500 | @echo "" |
|
- | 501 | @echo "" |
|
- | 502 | ||
- | 503 | ||
364 | .PHONY: install-note |
504 | .PHONY: install-note |
365 | install-note: install-tools |
505 | install-note: install-tools |
366 | @echo |
506 | @echo |
367 | @echo ====== INSTALLATION NOTE ====== |
507 | @echo ====== INSTALLATION NOTE ====== |
368 | @echo Your tools have now been installed at the following prefix: |
508 | @echo Your tools have now been installed at the following prefix: |
Line 434... | Line 574... | ||
434 | ## rm downloads/$(AUTOMAKE_ARCHIVE) |
574 | ## rm downloads/$(AUTOMAKE_ARCHIVE) |
435 | 575 | ||
436 | 576 | ||
437 | ############# AVR32 PATCHES ############ |
577 | ############# AVR32 PATCHES ############ |
438 | 578 | ||
439 | .PHONY: download-avr32patches download-avr32patches-force |
579 | ##.PHONY: download-avr32patches download-avr32patches-force |
440 | download-avr32patches: downloads/$(AVR32PATCHES_ARCHIVE) |
580 | ##download-avr32patches: downloads/$(AVR32PATCHES_ARCHIVE) |
441 | download-avr32patches-force downloads/$(AVR32PATCHES_ARCHIVE): |
581 | ##download-avr32patches-force downloads/$(AVR32PATCHES_ARCHIVE): |
442 | cd downloads && curl -LO $(AVR32PATCHES_URL) |
582 | ## cd downloads && curl -LO $(AVR32PATCHES_URL) |
443 | 583 | ||
444 | .PHONY: extract-avr32patches extract-avr32patches-force |
584 | ##.PHONY: extract-avr32patches extract-avr32patches-force |
445 | extract-avr32patches: stamps/extract-avr32patches |
585 | ##extract-avr32patches: stamps/extract-avr32patches |
446 | extract-avr32patches-force stamps/extract-avr32patches: downloads/$(AVR32PATCHES_ARCHIVE) |
586 | ##extract-avr32patches-force stamps/extract-avr32patches: downloads/$(AVR32PATCHES_ARCHIVE) |
447 | @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
587 | ## @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
448 | [ "$$t1" = "$(AVR32PATCHES_MD5)" ] || \ |
588 | ## [ "$$t1" = "$(AVR32PATCHES_MD5)" ] || \ |
449 | ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
589 | ## ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
450 | unzip -o $< |
590 | ## unzip -o $< |
451 | [ -d stamps ] || mkdir stamps |
591 | ## [ -d stamps ] || mkdir stamps |
452 | touch stamps/extract-avr32patches; |
592 | ## touch stamps/extract-avr32patches; |
453 | 593 | ||
454 | .PHONY: clean-avr32patches |
594 | ##.PHONY: clean-avr32patches |
455 | clean-avr32patches: |
595 | ##clean-avr32patches: |
456 | rm -rf stamps/*-avr32patches source |
596 | ## rm -rf stamps/*-avr32patches source |
457 | 597 | ||
458 | .PHONY: realclean-avr32patches |
598 | ##.PHONY: realclean-avr32patches |
459 | realclean-avr32patches: clean-avr32patches |
599 | ##realclean-avr32patches: clean-avr32patches |
460 | rm downloads/$(AVR32PATCHES_ARCHIVE) |
600 | ## rm downloads/$(AVR32PATCHES_ARCHIVE) |
461 | 601 | ||
462 | 602 | ||
463 | ############# AVR32 HEADERS ############ |
603 | ############# AVR32 HEADERS ############ |
464 | 604 | ||
465 | .PHONY: download-avr32headers download-avr32headers-force |
605 | ##.PHONY: download-avr32headers download-avr32headers-force |
466 | download-avr32headers: downloads/$(AVR32HEADERS_ARCHIVE) |
606 | ##download-avr32headers: downloads/$(AVR32HEADERS_ARCHIVE) |
467 | download-avr32headers-force downloads/$(AVR32HEADERS_ARCHIVE): |
607 | ##download-avr32headers-force downloads/$(AVR32HEADERS_ARCHIVE): |
468 | cd downloads && curl -LO $(AVR32HEADERS_URL) |
608 | ## cd downloads && curl -LO $(AVR32HEADERS_URL) |
469 | 609 | ||
470 | .PHONY: install-headers install-headers-force |
610 | ##.PHONY: install-headers install-headers-force |
471 | install-headers: stamps/install-headers |
611 | ##install-headers: stamps/install-headers |
472 | install-headers-force stamps/install-headers: downloads/$(AVR32HEADERS_ARCHIVE) stamps/install-final-gcc |
612 | ##install-headers-force stamps/install-headers: downloads/$(AVR32HEADERS_ARCHIVE) stamps/install-final-gcc |
473 | @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
613 | ## @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
474 | [ "$$t1" = "$(AVR32HEADERS_MD5)" ] || \ |
614 | ## [ "$$t1" = "$(AVR32HEADERS_MD5)" ] || \ |
475 | ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
615 | ## ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
476 | unzip -o $< -d "$(PREFIX)/$(TARGET)/include/" && \ |
616 | ## unzip -o $< -d "$(PREFIX)/$(TARGET)/include/" && \ |
477 | [ -d stamps ] || mkdir stamps |
617 | ## [ -d stamps ] || mkdir stamps |
478 | touch stamps/install-headers; |
618 | ## touch stamps/install-headers; |
479 | 619 | ||
480 | .PHONY: clean-headers |
620 | ##.PHONY: clean-headers |
481 | clean-headers: |
621 | ##clean-headers: |
482 | rm -rf stamps/*-headers $(PREFIX)/$(TARGET)/include/avr32 |
622 | ## rm -rf stamps/*-headers $(PREFIX)/$(TARGET)/include/avr32 |
483 | 623 | ||
484 | .PHONY: realclean-headers |
624 | ##.PHONY: realclean-headers |
485 | realclean-headers: clean-headers |
625 | ##realclean-headers: clean-headers |
486 | rm downloads/$(AVR32HEADERS_ARCHIVE) |
626 | ## rm downloads/$(AVR32HEADERS_ARCHIVE) |
487 | 627 | ||
488 | 628 | ||
489 | ################ NEWLIB ################ |
629 | ################ NEWLIB ################ |
490 | 630 | ||
491 | .PHONY: download-newlib download-newlib-force |
631 | .PHONY: download-newlib download-newlib-force |
Line 571... | Line 711... | ||
571 | rm downloads/$(NEWLIB_ARCHIVE) |
711 | rm downloads/$(NEWLIB_ARCHIVE) |
572 | 712 | ||
573 | 713 | ||
574 | ################ BINUTILS ################ |
714 | ################ BINUTILS ################ |
575 | 715 | ||
576 | .PHONY: download-binutils download-binutils-force |
716 | ##.PHONY: download-binutils download-binutils-force |
577 | download-binutils: downloads/$(BINUTILS_ARCHIVE) |
717 | ##download-binutils: downloads/$(BINUTILS_ARCHIVE) |
578 | download-binutils-force downloads/$(BINUTILS_ARCHIVE): |
718 | ##download-binutils-force downloads/$(BINUTILS_ARCHIVE): |
579 | [ -d downloads ] || mkdir downloads ; |
719 | ## [ -d downloads ] || mkdir downloads ; |
580 | cd downloads && curl -LO $(BINUTILS_URL) |
720 | ## cd downloads && curl -LO $(BINUTILS_URL) |
581 | 721 | ||
582 | .PHONY: extract-binutils extract-binutils-force |
722 | ##.PHONY: extract-binutils extract-binutils-force |
583 | extract-binutils: stamps/extract-binutils |
723 | ##extract-binutils: stamps/extract-binutils |
584 | extract-binutils-force stamps/extract-binutils: downloads/$(BINUTILS_ARCHIVE) |
724 | ##extract-binutils-force stamps/extract-binutils: downloads/$(BINUTILS_ARCHIVE) |
585 | @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
725 | ## @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
586 | [ "$$t1" = "$(BINUTILS_MD5)" ] || \ |
726 | ## [ "$$t1" = "$(BINUTILS_MD5)" ] || \ |
587 | ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
727 | ## ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
588 | tar -jxf $< ; |
728 | ## tar -jxf $< ; |
589 | [ -d stamps ] || mkdir stamps ; |
729 | ## [ -d stamps ] || mkdir stamps ; |
590 | touch stamps/extract-binutils; |
730 | ## touch stamps/extract-binutils; |
591 | 731 | ||
592 | .PHONY: patch-binutils patch-binutils-force |
732 | ##.PHONY: patch-binutils patch-binutils-force |
593 | patch-binutils: stamps/patch-binutils |
733 | ##patch-binutils: stamps/patch-binutils |
594 | patch-binutils-force stamps/patch-binutils: stamps/extract-binutils stamps/extract-avr32patches |
734 | ##patch-binutils-force stamps/patch-binutils: stamps/extract-binutils stamps/extract-avr32patches |
595 | pushd binutils-$(BINUTILS_VERSION) ; \ |
735 | ## pushd binutils-$(BINUTILS_VERSION) ; \ |
596 | for f in ../source/avr32/binutils/*.patch; do \ |
736 | ## for f in ../source/avr32/binutils/*.patch; do \ |
597 | patch -N -p0 <$${f} ; \ |
737 | ## patch -N -p0 <$${f} ; \ |
598 | done ; \ |
738 | ## done ; \ |
599 | popd ; \ |
739 | ## popd ; \ |
600 | [ -d stamps ] || mkdir stamps |
740 | ## [ -d stamps ] || mkdir stamps |
601 | touch stamps/patch-binutils; |
741 | ## touch stamps/patch-binutils; |
602 | 742 | ||
603 | .PHONY: regen-binutils regen-binutils-force |
743 | ##.PHONY: regen-binutils regen-binutils-force |
604 | regen-binutils: stamps/regen-binutils |
744 | ##regen-binutils: stamps/regen-binutils |
605 | regen-binutils-force stamps/regen-binutils: stamps/patch-binutils stamps/install-supp-tools |
745 | ##regen-binutils-force stamps/regen-binutils: stamps/patch-binutils stamps/install-supp-tools |
606 | pushd binutils-$(BINUTILS_VERSION) ; \ |
746 | ## pushd binutils-$(BINUTILS_VERSION) ; \ |
607 | "$(SUPP_PREFIX)/bin/aclocal" -I config ; \ |
747 | ## "$(SUPP_PREFIX)/bin/aclocal" -I config ; \ |
608 | "$(SUPP_PREFIX)/bin/autoconf" ; \ |
748 | ## "$(SUPP_PREFIX)/bin/autoconf" ; \ |
609 | "$(SUPP_PREFIX)/bin/automake" ; \ |
749 | ## "$(SUPP_PREFIX)/bin/automake" ; \ |
610 | "$(SUPP_PREFIX)/bin/autoheader" ; \ |
750 | ## "$(SUPP_PREFIX)/bin/autoheader" ; \ |
611 | for dir in bfd opcodes binutils gas ld; do \ |
751 | ## for dir in bfd opcodes binutils gas ld; do \ |
612 | pushd $$dir ; \ |
752 | ## pushd $$dir ; \ |
613 | "$(SUPP_PREFIX)/bin/autoconf"; \ |
753 | ## "$(SUPP_PREFIX)/bin/autoconf"; \ |
614 | "$(SUPP_PREFIX)/bin/automake"; \ |
754 | ## "$(SUPP_PREFIX)/bin/automake"; \ |
615 | "$(SUPP_PREFIX)/bin/autoheader"; \ |
755 | ## "$(SUPP_PREFIX)/bin/autoheader"; \ |
616 | popd ; \ |
756 | ## popd ; \ |
617 | done; \ |
757 | ## done; \ |
618 | popd; \ |
758 | ## popd; \ |
619 | [ -d stamps ] || mkdir stamps ; |
759 | ## [ -d stamps ] || mkdir stamps ; |
620 | touch stamps/regen-binutils; |
760 | ## touch stamps/regen-binutils; |
621 | 761 | ||
622 | .PHONY: build-binutils build-binutils-force |
762 | ##.PHONY: build-binutils build-binutils-force |
623 | build-binutils: stamps/build-binutils |
763 | ##build-binutils: stamps/build-binutils |
624 | build-binutils-force stamps/build-binutils: stamps/regen-binutils stamps/install-supp-tools |
764 | ##build-binutils-force stamps/build-binutils: stamps/regen-binutils stamps/install-supp-tools |
625 | cd binutils-$(BINUTILS_VERSION) ; \ |
765 | ## cd binutils-$(BINUTILS_VERSION) ; \ |
626 | ./configure --enable-maintainer-mode \ |
766 | ## ./configure --enable-maintainer-mode \ |
627 | --prefix="$(PREFIX)" --target=$(TARGET) --disable-nls \ |
767 | ## --prefix="$(PREFIX)" --target=$(TARGET) --disable-nls \ |
628 | --disable-shared --disable-werror \ |
768 | ## --disable-shared --disable-werror \ |
629 | --with-sysroot="$(PREFIX)/$(TARGET)" --with-bugurl=$(BUG_URL) && \ |
769 | ## --with-sysroot="$(PREFIX)/$(TARGET)" --with-bugurl=$(BUG_URL) && \ |
630 | $(MAKE) all-bfd TARGET-bfd=headers; \ |
770 | ## $(MAKE) all-bfd TARGET-bfd=headers; \ |
631 | rm bfd/Makefile; \ |
771 | ## rm bfd/Makefile; \ |
632 | make configure-bfd; \ |
772 | ## make configure-bfd; \ |
633 | $(MAKE) |
773 | ## $(MAKE) |
634 | [ -d stamps ] || mkdir stamps ; |
774 | ## [ -d stamps ] || mkdir stamps ; |
635 | touch stamps/build-binutils; |
775 | ## touch stamps/build-binutils; |
636 | 776 | ||
637 | .PHONY: install-binutils install-binutils-force |
777 | ##.PHONY: install-binutils install-binutils-force |
638 | install-binutils: stamps/install-binutils |
778 | ##install-binutils: stamps/install-binutils |
639 | install-binutils-force stamps/install-binutils: stamps/build-binutils |
779 | ##install-binutils-force stamps/install-binutils: stamps/build-binutils |
640 | cd binutils-$(BINUTILS_VERSION) && \ |
780 | ## cd binutils-$(BINUTILS_VERSION) && \ |
641 | $(MAKE) installdirs install-host install-target |
781 | ## $(MAKE) installdirs install-host install-target |
642 | [ -d stamps ] || mkdir stamps ; |
782 | ## [ -d stamps ] || mkdir stamps ; |
643 | touch stamps/install-binutils; |
783 | ## touch stamps/install-binutils; |
644 | 784 | ||
645 | 785 | ||
646 | .PHONY: clean-binutils |
786 | ##.PHONY: clean-binutils |
647 | clean-binutils: |
787 | ##clean-binutils: |
648 | rm -rf build/binutils stamps/*-binutils binutils-* |
788 | ## rm -rf build/binutils stamps/*-binutils binutils-* |
649 | 789 | ||
650 | .PHONY: realclean-binutils |
790 | ##.PHONY: realclean-binutils |
651 | realclean-binutils: clean-binutils |
791 | ##realclean-binutils: clean-binutils |
652 | rm downloads/$(BINUTILS_ARCHIVE) |
792 | ## rm downloads/$(BINUTILS_ARCHIVE) |
653 | 793 | ||
654 | 794 | ||
655 | ########## DFU PROGRAMMER ########### |
795 | ########## DFU PROGRAMMER ########### |
656 | 796 | ||
657 | .PHONY: download-dfu download-dfu-force |
797 | .PHONY: download-dfu download-dfu-force |