Subversion Repositories HomeAutomation

Rev

Rev 817 | Go to most recent revision | Details | Last modification | View Log | SVN | RSS feed

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