-
Notifications
You must be signed in to change notification settings - Fork 3
/
makefile.ext
90 lines (75 loc) · 2.45 KB
/
makefile.ext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# -*- makefile -*-
#----------------------------------------------------------------------------
# This is yaamake's makefile system. This makefile is splitted in multiple
# sources for easier code maintainability.
#
# Originally these makefiles have been WinAVR Makefile Template written by
# Eric B. Weddington, Jörg Wunsch, et al. which was released to the
# Public Domain
#
# Additional material for that orginal makefile was written by:
# Peter Fleury
# Tim Henigan
# Colin O'Flynn
# Reiner Patommel
# Markus Pfaff
# Sander Pool
# Frederik Rouleau
# Carlos Lamas
#
# So huge thanks to above people for their great work. I hope our new work
# would help them too.
#
#----------------------------------------------------------------------------
# After including this file to your projects makefile,
# following commands can be used:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF.
#
# make extcoff = Convert ELF to AVR Extended COFF.
#
# make program = Download the hex file to the device, using avrdude.
#
# make debug = Start either simulavr or avarice as specified for debugging,
# with avr-gdb or avr-insight as the front end for debugging.
#
# make filename.s = Just compile filename.c into the assembler code only.
#
# make filename.i = Create a preprocessed source file for use in submitting
# bug reports to the GCC project.
#
#
# To rebuild project do "make clean" then "make all".
#----------------------------------------------------------------------------
# Get our path from directory this file was included from
YAAMAKE := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
## Utils
include $(YAAMAKE)/makefile.d/functions.mk
## User defaults
-include $(HOME)/.yaamake.mk
## Actual makefiles
override define yaamake_include
include $(YAAMAKE)/makefile.d/common.mk
include $(YAAMAKE)/makefile.d/environment.mk
include $(YAAMAKE)/makefile.d/messages.mk
include $(YAAMAKE)/makefile.d/boards.mk
include $(YAAMAKE)/makefile.d/build.mk
include $(YAAMAKE)/makefile.d/debug.mk
include $(YAAMAKE)/makefile.d/program.mk
include $(YAAMAKE)/makefile.d/communicating.mk
include $(YAAMAKE)/makefile.d/yaal.mk
endef
# Stage: Variables
override yaamake_stage := v
$(eval $(yaamake_include))
# Stage: Post-Variables / Pre-Targets
override yaamake_stage := p
$(eval $(yaamake_include))
# Stage: Targets
override yaamake_stage := t
$(eval $(yaamake_include))
override yaamake_stage :=