Subversion Repositories avr32-toolchain

Compare Revisions

Ignore whitespace Rev 16 → Rev 17

/branches/try_gdb/ReleaseNotes
1,3 → 1,15
try_gdb_0_4_0 (jjessich on Sun Apr 08 02:09:43 CEST 2012):
+ Use binutils 2.22, automake 1.11.1.
+ Adding libtool (2.2.6b) to supp tools.
+ The default target is now install-cross, which will build the complete
tool chain.
Note: Currenly this is only binutils!
+ Empty directory removig will keep source control files (.svn, .git).
+ New target "helpx", which will print a list of all availabe targets.
+ The support tools ar enow used by the regen-XXX target.
+ A lot of more enhancements ;-)
NOTE: GDB building not started untill now.
 
try_gdb_0_3_0 (jasmin on Mon Apr 02 08:38:06 CEST 2012):
+ After cleaning, empty directories are removed now.
+ download-* does no longer depend on the download directory, so the files
/branches/try_gdb/Makefile
23,9 → 23,10
#### PRIMARY TOOLCHAIN VERSIONS #####
 
GCC_VERSION = 4.4.3
GDB_VERSION_DLOAD = 6.7.1a
GDB_VERSION = 6.7.1
BINUTILS_VERSION = 2.20.1
GDB_VERSION_DLOAD = $(GDB_VERSION)a
#BINUTILS_VERSION = 2.20.1
BINUTILS_VERSION = 2.22
NEWLIB_VERSION = 1.16.0
DFU_VERSION = 0.5.4
AVR_PATCH_REV = 3.2.3.261
36,6 → 37,7
 
SHELL = /bin/bash
TARGET = avr32
# maybe better: avr32-unknown-none
 
TODAY = $(shell date "+%Y%m%d")
GIT_REV = $(shell git rev-parse --verify HEAD --short 2> /dev/null)
75,7 → 77,8
ifeq ($(strip $(BUG_URL)),)
BUG_URL = https://github.com/jsnyder/avr32-toolchain
endif
PKG_VERSION = "AVR 32 bit GNU Toolchain-$(AVR_PATCH_REV)-$(TOOL_REV)"
#PKG_VERSION = "AVR 32 bit GNU Toolchain-$(AVR_PATCH_REV)-$(TOOL_REV)"
PKG_VERSION = "AVR 32 bit GNU Toolchain-$(TOOL_REV)"
 
 
#### PRIMARY TOOLCHAIN URLS #####
90,7 → 93,10
 
BINUTILS_ARCHIVE = binutils-$(BINUTILS_VERSION).tar.bz2
BINUTILS_URL = http://mirror.anl.gov/pub/gnu/binutils/$(BINUTILS_ARCHIVE)
BINUTILS_MD5 = 2b9dc8f2b7dbd5ec5992c6e29de0b764
# V 2.20.1
#BINUTILS_MD5 = 2b9dc8f2b7dbd5ec5992c6e29de0b764
# V 2.22
BINUTILS_MD5 = ee0f10756c84979622b992a4a61ea3f5
 
NEWLIB_ARCHIVE = newlib-$(NEWLIB_VERSION).tar.gz
NEWLIB_URL = ftp://sources.redhat.com/pub/newlib/$(NEWLIB_ARCHIVE)
112,7 → 118,9
 
##### SUPPORT TOOLS VERSIONS / URLS ######
AUTOCONF_VERSION = 2.64
AUTOMAKE_VERSION = 1.11
#AUTOMAKE_VERSION = 1.11
AUTOMAKE_VERSION = 1.11.1
LIBTOOL_VERSION = 2.2.6b
MPC_VERSION = 0.8.1
 
AUTOCONF_ARCHIVE = autoconf-$(AUTOCONF_VERSION).tar.bz2
121,36 → 129,23
 
AUTOMAKE_ARCHIVE = automake-$(AUTOMAKE_VERSION).tar.bz2
AUTOMAKE_URL = http://mirror.anl.gov/pub/gnu/automake/$(AUTOMAKE_ARCHIVE)
AUTOMAKE_MD5 = 4db4efe027e26b33930a7e151de19d0f
# V 1.11
#AUTOMAKE_MD5 = 4db4efe027e26b33930a7e151de19d0f
# V 1.11.1
AUTOMAKE_MD5 = c2972c4d9b3e29c03d5f2af86249876f
 
LIBTOOL_ARCHIVE = libtool-$(LIBTOOL_VERSION).tar.gz
LIBTOOL_URL = http://mirror.anl.gov/pub/gnu/libtool/$(LIBTOOL_ARCHIVE)
LIBTOOL_MD5 = 07da460450490148c6d2df0f21481a25
 
ALL_TOOLS := gcc gdb binutils newlib avr32patches avr32headers dfu autoconf automake
 
SUPP_TOOLS := autoconf automake libtool
ALL_TOOLS := gcc gdb binutils newlib avr32patches avr32headers dfu $(SUPP_TOOLS)
 
 
.PHONY: install-tools
install-tools: install-binutils install-final-gcc install-newlib install-headers
all: install-cross
 
.PHONY: install-cross
install-cross: install-tools install-note
 
 
.PHONY: sudomode
sudomode:
ifneq ($(USER),root)
@echo Please run this target with sudo!
@echo e.g.: sudo make targetname
@exit 1
endif
 
 
.PHONY: tst
tst:
@echo "PREFIX=$(PREFIX)"
@echo "PKG_VERSION=$(PKG_VERSION)"
@echo "BUG_URL=$(BUG_URL)"
 
 
############ MACROS for the lazy people ;-) ############
 
## in silent mode (make -s),, print whats ging on
186,7 → 181,7
 
## delete empty directories
define del_empty-directories
@find . -type d -empty | xargs rm -rf
@find . -type d -empty -not -path "*.git*" -not -path "*.svn*" -delete
endef
 
## delete all empty directories
195,6 → 190,8
$(call del_empty-directories)
$(call del_empty-directories)
$(call del_empty-directories)
$(call del_empty-directories)
$(call del_empty-directories)
endef
 
 
213,7 → 210,6
 
$(foreach tool,$(ALL_TOOLS),$(eval $(call LOWER_TOOL_VARS,$(tool))))
 
 
## create the download rule and force download rule
define DOWNLOAD_template
download-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)
226,6 → 222,8
$(call quiet_text,$$(download-$(1)_TEXT))
rm -f $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)
 
available_targets += download-$(1) download-$(1)-f download-$(1)-remove
 
PHONY += download-$(1) download-$(1)-f download-$(1)-remove
endef
 
238,8 → 236,8
define EXTRACT_template
extract-$(1)_TEXT := "Extracting $$($(1)_ARCHIVE)"
 
extract-$(1): $(STAMP_DIR)/extract-$(1)
extract-$(1)-f $(STAMP_DIR)/extract-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)
extract-$(1): $(call name_stamp,extract-$(1))
extract-$(1)-f $(call name_stamp,extract-$(1)): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE)
@(rm -rf $(1)-*; \
t1=`openssl md5 $$< | cut -f 2 -d " " -` && \
[ "$$$$t1" = "$$($(1)_MD5)" ] || \
252,18 → 250,24
rm -rf $(1)-*
$(call rm_stamp,extract-$(1))
 
clean_extract_$(1)_rule := extract-$(1)-remove
 
available_targets += extract-$(1) extract-$(1)-f extract-$(1)-remove
 
PHONY += extract-$(1) extract-$(1)-f extract-$(1)-remove
endef
 
## create the patch rule
define PATCH_template
patch-$(1)_TEXT := "Patching $$($(1)_ARCHIVE)"
patch-$(1): $(STAMP_DIR)/patch-$(1)
$(STAMP_DIR)/patch-$(1): $(STAMP_DIR)/extract-$(1) $(STAMP_DIR)/extract-avr32patches
patch-$(1): $(call name_stamp,patch-$(1))
$(call name_stamp,patch-$(1)): $(call name_stamp,extract-$(1)) $(call name_stamp,extract-avr32patches)
$(call quiet_text,$$(patch-$(1)_TEXT))
@(pushd $(1)-$$($(1)_VERSION) ; \
for f in ../$(install_dir_avr32patches)/$(1)/*.patch; do \
patch -N -p0 < $$$${f} ; \
echo "Patching using: $$$${f}" ; \
patch -N -p0 --no-backup-if-mismatch < $$$${f} ; \
if [ $$$$? -ne 0 ] ; then exit -1 ; fi ; \
done ; \
popd)
$(call make_stamp,patch-$(1))
271,36 → 275,57
patch-$(1)-remove: extract-$(1)-remove
$(call rm_stamp,patch-$(1))
 
clean_patch_$(1)_rule := patch-$(1)-remove
 
available_targets += patch-$(1) patch-$(1)-remove
 
PHONY += patch-$(1) patch-$(1)-remove
endef
 
## one rule for all required support tools
install-supp-tools_targets := $(foreach tool,$(SUPP_TOOLS),$(call name_stamp,install-$(tool)))
install-supp-tools: $(install-supp-tools_targets)
 
#.PHONY: regen-binutils regen-binutils-force
#regen-binutils: stamps/regen-binutils
#regen-binutils-force stamps/regen-binutils: stamps/patch-binutils stamps/install-supp-tools
# pushd binutils-$(BINUTILS_VERSION) ; \
# "$(SUPP_PREFIX)/bin/aclocal" -I config ; \
# "$(SUPP_PREFIX)/bin/autoconf" ; \
# "$(SUPP_PREFIX)/bin/automake" ; \
# "$(SUPP_PREFIX)/bin/autoheader" ; \
# for dir in bfd opcodes binutils gas ld; do \
# pushd $$dir ; \
# "$(SUPP_PREFIX)/bin/autoconf"; \
# "$(SUPP_PREFIX)/bin/automake"; \
# "$(SUPP_PREFIX)/bin/autoheader"; \
# popd ; \
# done; \
# popd; \
# [ -d stamps ] || mkdir stamps ;
# touch stamps/regen-binutils;
clean-supp-tools: $(foreach tool,$(SUPP_TOOLS),clean-$(tool))
 
available_targets += install-supp-tools clean-supp-tools
 
PHONY += install-supp-tools clean-supp-tools
 
## create the regen rule
## it is used to regenerate the auto tools result files
define REGEN_template
regen-$(1)_TEXT := "Regenerate auto tool files for $$($(1)_ARCHIVE)"
regen-$(1): $(call name_stamp,regen-$(1))
regen-$(1)-f $(call name_stamp,regen-$(1)): $(call name_stamp,$(2)-$(1)) \
$(install-supp-tools_targets)
$(call quiet_text,$$(regen-$(1)_TEXT))
@(pushd $(1)-$$($(1)_VERSION) ; \
PATH=$(SUPP_PREFIX)/bin:$$$${PATH} $(SUPP_PREFIX)/bin/autoreconf -v ; \
for dir in $$($(1)_regen_dirs) ; do \
pushd $$$$dir ; \
PATH=$(SUPP_PREFIX)/bin:$$$${PATH} $(SUPP_PREFIX)/bin/autoreconf -v ; \
popd ; \
done; \
popd)
$(call make_stamp,regen-$(1))
 
regen-$(1)-remove:
$(call rm_stamp,regen-$(1))
 
clean_regen_$(1)_rule := regen-$(1)-remove
 
available_targets += regen-$(1) regen-$(1)-f regen-$(1)-remove
 
PHONY += regen-$(1) regen-$(1)-f regen-$(1)-remove
endef
 
## create the configure rule and force configure rule
define CONF_template
conf-$(1)_TEXT := "Configuring $(1) $$($(1)_VERSION)"
conf-$(1): $(STAMP_DIR)/conf-$(1)
conf-$(1)-f $(STAMP_DIR)/conf-$(1): $(STAMP_DIR)/$(2)-$(1) $(BUILD_DIR)/$(1)
@rm -rf $(BUILD_DIR)/$(1)/*
conf-$(1): $(call name_stamp,conf-$(1))
conf-$(1)-f $(call name_stamp,conf-$(1)): $(call name_stamp,$(2)-$(1)) $$($(1)_conf_deps)
@(rm -rf $(BUILD_DIR)/$(1) ; mkdir -p $(BUILD_DIR)/$(1))
$(call quiet_text,$$(conf-$(1)_TEXT))
cd $(BUILD_DIR)/$(1) && \
../../$(1)-$$($(1)_VERSION)/configure $$($(1)_conf_opts)
309,31 → 334,39
conf-$(1)-remove:
$(call rm_stamp,conf-$(1))
 
clean_conf_$(1)_rule := conf-$(1)-remove
 
available_targets += conf-$(1) conf-$(1)-f conf-$(1)-remove
 
PHONY += conf-$(1) conf-$(1)-f conf-$(1)-remove
endef
 
## create the build rule and force build rule
define BUILD_template
build-$(1)_TEXT := "Building $(1) $$($(1)_VERSION)"
build-$(1): $(STAMP_DIR)/build-$(1)
build-$(1)-f $(STAMP_DIR)/build-$(1): $(STAMP_DIR)/conf-$(1)
build-$(1): $(call name_stamp,build-$(1))
build-$(1)-f $(call name_stamp,build-$(1)): $(call name_stamp,conf-$(1))
$(call quiet_text,$$(build-$(1)_TEXT))
cd $(BUILD_DIR)/$(1) && \
$(MAKE) clean && $(MAKE) -j$(PROCS)
$$($(1)_build_cmds)
$(call make_stamp,build-$(1))
 
build-$(1)-remove:
rm -rf $(BUILD_DIR)/$(1)
$(call rm_stamp,build-$(1))
 
clean_build_$(1)_rule := build-$(1)-remove
 
available_targets += build-$(1) build-$(1)-f build-$(1)-remove
 
PHONY += build-$(1) build-$(1)-f build-$(1)-remove
endef
 
## create the install rule and force install rule
define INSTALL_template
install-$(1)_TEXT := "Installing $(1) $$($(1)_VERSION)"
install-$(1): $(STAMP_DIR)/install-$(1)
install-$(1)-f $(STAMP_DIR)/install-$(1): $(STAMP_DIR)/build-$(1)
install-$(1): $(call name_stamp,install-$(1))
install-$(1)-f $(call name_stamp,install-$(1)): $(call name_stamp,build-$(1))
$(call quiet_text,$$(install-$(1)_TEXT))
cd $(BUILD_DIR)/$(1) && \
$(MAKE) install
348,6 → 381,10
$(MAKE) uninstall || true
$(call rm_stamp,install-$(1))
 
clean_uninstall_$(1)_rule := uninstall-$(1)
 
available_targets += install-$(1) install-$(1)-f uninstall-$(1)
 
PHONY += install-$(1) install-$(1)-f uninstall-$(1)
endef
 
357,41 → 394,32
clean-$(1)-text:
$(call quiet_text,$$(clean-$(1)_TEXT))
 
clean-$(1): clean-$(1)-text uninstall-$(1) extract-$(1)-remove patch-$(1)-remove \
build-$(1)-remove conf-$(1)-remove
clean-$(1): clean-$(1)-text $$(clean_uninstall_$(1)_rule) $$(clean_extract_$(1)_rule) \
$$(clean_patch_$(1)_rule) $$(clean_regen_$(1)_rule) $$(clean_build_$(1)_rule) \
$$(clean_conf_$(1)_rule)
$(call del_all_empty-directories)
 
clean_rules += clean-$(1)
 
realclean-$(1): clean-$(1) download-$(1)-remove
$(call del_all_empty-directories)
 
realclean_rules += realclean-$(1)
 
available_targets += clean-$(1) realclean-$(1)
 
PHONY += clean-$(1) realclean-$(1) clean-$(1)-text
endef
 
## create some dummy rules for the clean rule
define DUMMY_patch_remove
patch-$(1)-remove:
PHONY += patch-$(1)-remove
endef
define DUMMY_conf_remove
conf-$(1)-remove:
PHONY += conf-$(1)-remove
endef
define DUMMY_build_remove
build-$(1)-remove:
PHONY += build-$(1)-remove
endef
 
 
$(BUILD_DIR)/%:
mkdir -p $@
 
 
############# SUPP: AUTOCONF ############
 
$(eval $(call DOWNLOAD_template,autoconf))
$(eval $(call EXTRACT_template,autoconf,EXT_BZ2))
autoconf_conf_opts = --prefix="$(SUPP_PREFIX)"
autoconf_conf_opts := --prefix="$(SUPP_PREFIX)"
$(eval $(call CONF_template,autoconf,extract))
autoconf_build_cmds :=\
$(MAKE) clean && $(MAKE) -j$(PROCS)
$(eval $(call BUILD_template,autoconf))
$(eval $(call INSTALL_template,autoconf))
$(eval $(call CLEAN_template,autoconf))
401,13 → 429,31
 
$(eval $(call DOWNLOAD_template,automake))
$(eval $(call EXTRACT_template,automake,EXT_BZ2))
automake_conf_opts = --prefix="$(SUPP_PREFIX)"
automake_conf_opts := --prefix="$(SUPP_PREFIX)"
# automake needs the new autoconf allready installed
automake_conf_deps := $(call name_stamp,install-autoconf)
$(eval $(call CONF_template,automake,extract))
automake_build_cmds := $(autoconf_build_cmds)
$(eval $(call BUILD_template,automake))
$(eval $(call INSTALL_template,automake))
$(eval $(call CLEAN_template,automake))
 
 
############ SUPP: LIBTOOL ############
 
$(eval $(call DOWNLOAD_template,libtool))
$(eval $(call EXTRACT_template,libtool,EXT_TGZ))
libtool_conf_opts := --prefix="$(SUPP_PREFIX)"
# libtool needs the new autoconf/automake allready installed
libtool_conf_deps := $(call name_stamp,install-autoconf) \
$(call name_stamp,install-automake)
$(eval $(call CONF_template,libtool,extract))
libtool_build_cmds := $(autoconf_build_cmds)
$(eval $(call BUILD_template,libtool))
$(eval $(call INSTALL_template,libtool))
$(eval $(call CLEAN_template,libtool))
 
 
############# AVR32 PATCHES ############
 
$(eval $(call DOWNLOAD_template,avr32patches))
418,6 → 464,8
uninstall-avr32patches:
rm -rf $(install_dir_avr32patches)
 
clean_uninstall_avr32patches_rule = uninstall-avr32patches
 
$(eval $(call CLEAN_template,avr32patches))
 
 
425,7 → 473,7
$(eval $(call DOWNLOAD_template,avr32headers))
 
###### FIXME: Need to add a dependency to "stamps/install-final-gcc"
install_path_avr32headers := $(PREFIX)/$(TARGET)/include/
install_path_avr32headers := $(PREFIX)/$(TARGET)/include
avr32headers_unzip_opt := -d "$(install_path_avr32headers)"
$(eval $(call EXTRACT_template,avr32headers,EXT_ZIP,$(avr32headers_unzip_opt)))
 
435,6 → 483,8
uninstall-avr32headers:
rm -rf $(install_dir_avr32headers)
 
clean_uninstall_avr32headers_rule = uninstall-avr32headers
 
$(eval $(call CLEAN_template,avr32headers))
 
 
443,37 → 493,47
$(eval $(call DOWNLOAD_template,binutils))
$(eval $(call EXTRACT_template,binutils,EXT_BZ2))
$(eval $(call PATCH_template,binutils))
#$(eval $(call REGEN_template,binutils))
binutils_conf_opts = \
--enable-maintainer-mode \
--prefix="$(PREFIX)" --target=$(TARGET) --disable-nls \
--disable-shared --disable-werror \
--with-sysroot="$(PREFIX)/$(TARGET)" --with-bugurl=$(BUG_URL)
$(eval $(call CONF_template,binutils,extract))
binutils_regen_dirs := bfd opcodes binutils gas ld
$(eval $(call REGEN_template,binutils,patch))
# --enable-maintainer-mode \
 
binutils_conf_opts := \
--prefix="$(PREFIX)" --target=$(TARGET) --disable-nls \
--disable-shared --disable-werror \
--enable-ld=yes --enable-gold=no \
--with-pkgversion=$(PKG_VERSION) \
--with-sysroot="$(PREFIX)/$(TARGET)" --with-bugurl=$(BUG_URL)
$(eval $(call CONF_template,binutils,regen))
binutils_build_cmds := \
$(MAKE) -j$(PROCS)
# $(MAKE) clean && $(MAKE) -j$(PROCS)
 
# $(MAKE) all-bfd TARGET-bfd=headers; \
# rm bfd/Makefile; \
# make configure-bfd; \
# $(MAKE)
 
$(eval $(call BUILD_template,binutils))
$(eval $(call INSTALL_template,binutils))
$(eval $(call CLEAN_template,binutils))
 
 
# we need to satisfy the rules, generated by the CLEAN_template, if they not exist
patch_remove_dummy_tools := autoconf automake avr32patches avr32headers
$(foreach tool,$(patch_remove_dummy_tools),$(eval $(call DUMMY_patch_remove,$(tool))))
conf_remove_dummy_tools := avr32patches avr32headers
$(foreach tool,$(conf_remove_dummy_tools),$(eval $(call DUMMY_conf_remove,$(tool))))
build_remove_dummy_tools := avr32patches avr32headers
$(foreach tool,$(build_remove_dummy_tools),$(eval $(call DUMMY_build_remove,$(tool))))
 
 
.PHONY: $(PHONY)
 
 
.PHONY: tst2 tst3
 
 
.PHONY: tst tst2 tst3
tst:
@echo "PREFIX=$(PREFIX)"
@echo "PKG_VERSION=$(PKG_VERSION)"
@echo "BUG_URL=$(BUG_URL)"
tst2:
$(call make_stamp,JES)
tst3:
$(call rm_stamp,JES)
 
 
.PHONY: help
help:
@echo ""
489,47 → 549,61
@echo "realclean-XXX : same as clean-XXX, but remove the downloaded"
@echo " package, too"
@echo ""
@echo "XXX can be one of the following: "
@echo "XXX can be one of the following:"
@echo "$(ALL_TOOLS)"
@echo "supp-tools"
@echo ""
@echo "The above targets will be executed in the right order and only if"
@echo "they need to be be really built. If you want to rebuild one of then"
@echo "they need to be be really built. If you want to rebuild one of them"
@echo "manualy, you can use the aaaa-XXX-f target (e.g.: build-autoconf-f,"
@echo "download-automake-f). Please note, that not all steps are available for"
@echo "all tools (e.g.: install-avr32patches is not available)."
@echo ""
@echo "clean : clean all; execute all clean-XXX rules"
@echo "realclean : same as clean, but remove all downloaded"
@echo " packages, too (execute all realclean-XXX rules)"
@echo ""
@echo "help : this inforamtion"
@echo "helpx : this inforamtion + available targets"
@echo ""
 
define print_target
@echo "$(1)"
 
endef
 
.PHONY: helpx
helpx: help
@echo "Available targets:"
$(foreach target,$(available_targets),$(call print_target,$(target)))
@echo ""
 
.PHONY: install-note
install-note: install-tools
@echo ""
@echo "====== INSTALLATION NOTE ======"
@echo "Your tools have now been installed at the following prefix:"
@echo "$(PREFIX)"
@echo
@echo ====== INSTALLATION NOTE ======
@echo Your tools have now been installed at the following prefix:
@echo $(PREFIX)
@echo "Please be sure to add something similar to the following to your .bash_profile, .zshrc, etc:"
@echo ' export PATH="$(PREFIX)/bin:$$PATH"'
@echo
@echo Please be sure to add something similar to the following to your .bash_profile, .zshrc, etc:
@echo export PATH=$(PREFIX)/bin:'$$PATH'
 
.PHONY: install-tools
install-tools: install-binutils
# FIXME: other currently not finished
# install-final-gcc install-newlib install-headers
 
.PHONY: install-supp-tools install-supp-tools-force
install-supp-tools: stamps/install-supp-tools
install-supp-tools-force stamps/install-supp-tools: stamps/install-autoconf stamps/install-automake
[ -d stamps ] || mkdir stamps ;
touch stamps/install-supp-tools;
.PHONY: install-cross
install-cross: install-tools install-note
 
.PHONY: clean-supp-tools
clean-supp-tools: clean-autoconf clean-automake
rm stamps/install-supp-tools;
.PHONY : clean realclean
clean: $(clean_rules)
 
.PHONY: realclean-supp-tools
realclean-supp-tools: realclean-autoconf realclean-automake
rm stamps/install-supp-tools;
realclean: $(realclean_rules)
# rm -rf build *-$(CS_BASE) binutils-* gcc-* gdb-* newlib-* mpc-* $(LOCAL_BASE) dfu-programmer-* autoconf-* automake-* stamps/* source supp
 
 
 
 
 
############ SUPP: AUTOMAKE ############
 
##.PHONY: download-automake download-automake-force
1090,6 → 1164,3
mkdir -p "$(PREFIX)/man/man1" && \
cp ../../gdb-$(CS_BASE)/gdb/gdb.1 "$(PREFIX)/man/man1/arm-none-eabi-gdb.1"
 
.PHONY : clean
clean:
rm -rf build *-$(CS_BASE) binutils-* gcc-* gdb-* newlib-* mpc-* $(LOCAL_BASE) dfu-programmer-* autoconf-* automake-* stamps/* source supp