Subversion Repositories HomeAutomation

Rev

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