make utility is not being installed? I need it to build bootloader...

I am trying to build a bootloader for Arduino Uno in Win 7. To begin with, I want to be able to re-build the bootloader that comes with Arduino package, i.e. optiboot_atmega328.hex. There is a README.TXT file in hardware\arduino\avr\bootloaders\optiboot\ folder that describes how to do it. But it's referring to the "make" utility, which apparently was supposed to be included with Arduino, but it's not.

Can you please give me a suggestion on how to go about it. Should I install "make" for Windows myself? Or is there another way of building Arduino bootloaders?

Your help is greatly appreciated.

Toly

I take the zip from 1.06, and replace the compiler with a more modern version, and use that to build

Notice the effect of compiler version on binary size

Yes, it's unfortunate. I believe the last IDE version that included make.exe with the AVR boards was 1.0.6 so you do need to install it. I notice it is included with the Arduino SAM Boards package. You can also get it from WinAVR:
http://winavr.sourceforge.net/
The latest version of WinAVR is from 2010. I don't know what the one with Arduino SAM Boards is and I don't see a way to get a version number out of it. I'd guess there has been some development on make since then but I don't know if there would be any benefit to a newer version of make and I've been using the one from WinAVR for years without a problem. I believe you will need rm.exe also but that's all, everything else is included with the Arduino IDE.

Note that the makefile is also outdated because it assumes the tools folder is found relative to the bootloaders/optiboot folder at ../../../tools:
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/optiboot/Makefile#L52

TOOLROOT = ../../../tools

an extra folder specifying the architecture was added since that was written so you need to change it to:

TOOLROOT = ../../../../tools

Got it from 1.0.6 and was able to build the bootloader. Thank you!!!

P.S. What is the thought moving forward? How are the bootloaders supposed to be built with the newer versions of Arduino?

Toly

As you did it. I think it's just not a priority for Arduino to make it easy. Their philosophy is the compiled bootloader files supplied with the IDE should be good enough for 99.999% of Arduino users and the others will be advanced enough to figure it out. The source files are just there to satisfy the open source license. I have seen a couple of issue reports about problems compiling the bootloaders and that was the response from the developers. I haven't seen pull requests for fixing things (thought I haven't searched) that may have better results than reporting the issue. I do think removing make.exe was done intentionally so you would need to determine why that was done and deal with the root reason for it. It's strange to me that they are including it with Arduino SAM Boards. It seems that at least the TOOLROOT path in the makefile should be fixed.

I think, the reason why the make utility is missing is that it is not included in newer versions of the AVR toolchain from Atmel and Arduino IDE uses AVR toolchain as is. Older make with newer toolchain works for me.