Subversion Repositories HomeAutomation

Rev

Rev 559 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 559 Rev 563
1
# Target file name (without extension).
1
# Target file name (without extension).
2
TARGET = main
2
TARGET = main
3
BIOSTARGET = bios
3
BIOSTARGET = bios
4
 
4
 
5
LIBDIR = ../../avr-lib
5
LIBDIR = ../../avr-lib
6
SRCDIR = src
6
SRCDIR = src
7
CFGDIR = .
7
CFGDIR = .
8
BIOSDIR = bios
8
BIOSDIR = bios
9
BIOSSRCDIR = $(LIBDIR)/bios
9
BIOSSRCDIR = $(LIBDIR)/bios
10
BUILDDIR = build
10
BUILDDIR = build
11
 
11
 
12
include bios.inc
12
include bios.inc
13
include ../system.inc
13
include ../system.inc
14
 
14
 
15
APPMAKEFLAGS = 	TARGET=$(TARGET) \
15
APPMAKEFLAGS = 	TARGET=$(TARGET) \
16
				LIBDIR=$(abspath $(LIBDIR)) \
16
				LIBDIR=$(abspath $(LIBDIR)) \
17
				SRCDIR=$(abspath $(SRCDIR)) \
17
				SRCDIR=$(abspath $(SRCDIR)) \
18
				BIOSDIR=$(abspath $(BIOSDIR)) \
18
				BIOSDIR=$(abspath $(BIOSDIR)) \
19
				CFGDIR=$(abspath $(CFGDIR)) 
19
				CFGDIR=$(abspath $(CFGDIR)) 
20
 
20
 
21
BIOSMAKEFLAGS = TARGET=$(BIOSTARGET) \
21
BIOSMAKEFLAGS = TARGET=$(BIOSTARGET) \
22
				LIBDIR=$(abspath $(LIBDIR)) \
22
				LIBDIR=$(abspath $(LIBDIR)) \
23
				SRCDIR=$(abspath $(BIOSSRCDIR)) \
23
				SRCDIR=$(abspath $(BIOSSRCDIR)) \
24
				CFGDIR=$(abspath $(CFGDIR)) 
24
				CFGDIR=$(abspath $(CFGDIR)) 
25
 
25
 
26
# Define programs and commands.
26
# Define programs and commands.
27
SHELL = sh
27
SHELL = sh
28
CC = avr-gcc
28
CC = avr-gcc
29
AWK = awk
29
AWK = awk
30
OBJCOPY = avr-objcopy
30
OBJCOPY = avr-objcopy
31
OBJDUMP = avr-objdump
31
OBJDUMP = avr-objdump
32
SIZE = avr-size
32
SIZE = avr-size
33
NM = avr-nm
33
NM = avr-nm
34
RM = rm -f
34
RM = rm -f
35
COPY = cp
35
COPY = cp
36
MKDIR = mkdir
36
MKDIR = mkdir
37
 
37
 
38
# Define Messages
38
# Define Messages
39
# English
39
# English
40
MSG_CLEANING = Cleaning project:
40
MSG_CLEANING = Cleaning project:
41
MSG_CREATEDIR = Creating directory:
41
MSG_CREATEDIR = Creating directory:
42
 
42
 
43
 
43
 
44
# Default target.
44
# Default target.
45
all: $(abspath $(BUILDDIR))
45
all: $(abspath $(BUILDDIR))
46
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) all
46
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) all
47
 
47
 
48
bios: $(abspath $(BIOSDIR))
48
bios: $(abspath $(BIOSDIR))
49
	@$(MAKE) $(BIOSMAKEFLAGS) -C $(BIOSDIR) -f $(abspath $(BIOSSRCDIR)/Makefile) all
49
	@$(MAKE) $(BIOSMAKEFLAGS) -C $(BIOSDIR) -f $(abspath $(BIOSSRCDIR)/Makefile) all
50
 
50
 
51
installbios: bios
51
installbios: bios
52
	$(UPLOAD) $(ULFLAGS)
52
	$(UPLOAD) $(ULFLAGS)
53
 
53
 
54
upgradebios: bios
54
upgradebios: bios
55
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -f $(BIOSDIR)/$(BIOSTARGET).hex -r -b
55
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -f $(BIOSDIR)/$(BIOSTARGET).hex -r -b
56
 
56
 
57
install: $(BUILDDIR)/$(TARGET).hex
57
install: $(BUILDDIR)/$(TARGET).hex
58
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -f $< -r
58
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -f $< -r
59
 
59
 
60
reset: 
60
reset: 
61
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -r
61
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -r
62
 
62
 
63
start: 
63
start: 
64
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -s
64
	$(CANUPLOAD) $(CANULFLAGS) -n $(NODE_ID) -s
65
 
65
 
66
$(BUILDDIR)/$(TARGET).hex: $(abspath $(BUILDDIR))
66
$(BUILDDIR)/$(TARGET).hex: $(abspath $(BUILDDIR))
67
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) $(TARGET).hex
67
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) $(TARGET).hex
68
 
68
 
69
$(abspath $(BUILDDIR) $(BIOSDIR)):
69
$(abspath $(BUILDDIR) $(BIOSDIR)):
70
	@echo $(MSG_CREATEDIR) $@
70
	@echo $(MSG_CREATEDIR) $@
71
	@$(MKDIR) -p $@
71
	@$(MKDIR) -p $@
72
 
72
 
73
# Target: clean project.
73
# Target: clean project.
74
clean:
74
clean:
75
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) clean
75
	@$(MAKE) $(APPMAKEFLAGS) -C $(BUILDDIR) -f $(abspath $(SRCDIR)/Makefile) clean
76
 
76
 
77
cleanbios:
77
cleanbios:
78
	@$(MAKE) $(BIOSMAKEFLAGS) -C $(BIOSDIR) -f $(abspath $(BIOSSRCDIR)/Makefile) clean
78
	@$(MAKE) $(BIOSMAKEFLAGS) -C $(BIOSDIR) -f $(abspath $(BIOSSRCDIR)/Makefile) clean
79
 
79
 
80
distclean:
80
distclean:
81
	@echo $(MSG_CLEANING)
81
	@echo $(MSG_CLEANING)
82
	$(RM) -r $(BUILDDIR)
82
	$(RM) -r $(BUILDDIR)
83
	$(RM) -r $(BIOSDIR)
83
	$(RM) -r $(BIOSDIR)
84
 
84
 
85
# Listing of phony targets.
85
# Listing of phony targets.
86
.PHONY : all bios installbios upgradebios \
86
.PHONY : all bios installbios upgradebios \
87
install reset start \
87
install reset start \
88
clean cleanbios distclean
88
clean cleanbios distclean
89
 
89