Subversion Repositories HomeAutomation

Rev

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