OpenCores
URL https://opencores.org/ocsvn/gecko4/gecko4/trunk

Subversion Repositories gecko4

[/] [gecko4/] [trunk/] [GECKO4com/] [fx2_firmware/] [Makefile] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ktt1
################################################################################
2
##            _   _            __   ____                                      ##
3
##           / / | |          / _| |  __|                                     ##
4
##           | |_| |  _   _  / /   | |_                                       ##
5
##           |  _  | | | | | | |   |  _|                                      ##
6
##           | | | | | |_| | \ \_  | |__                                      ##
7
##           |_| |_| \_____|  \__| |____| microLab                            ##
8
##                                                                            ##
9
##           Bern University of Applied Sciences (BFH)                        ##
10
##           Quellgasse 21                                                    ##
11
##           Room HG 4.33                                                     ##
12
##           2501 Biel/Bienne                                                 ##
13
##           Switzerland                                                      ##
14
##                                                                            ##
15
##           http://www.microlab.ch                                           ##
16
################################################################################
17
 
18
CC = sdcc
19
AS = asx8051
20
ASFLAGS = -plosgff
21
CFLAGS = --opt-code-size --no-xinit-opt -mmcs51 --model-small
22
#For the memory model following assumptions have been made:
23
#0x0000-0x0FFF 4 kbyte code memory
24
#0x1000-0x1FFF 4 kbyte data memory
25
#0xE000-0xE1FF 512 bytes USB descriptor tables
26
MEMOPTS = --code-loc 0x0000 --code-size 0x1000 \
27
          --xram-loc 0x1000 --xram-size 0x1000 \
28
          --iram-size 0x100 --data-loc 0x08\
29
          --stack-size 0x80 --stack-loc 0x80 --no-pack-iram\
30
          -Wl '-b USBDESCSEG=0xE000'
31
LDFLAGS=$(MEMOPTS) -L ${LIB_DIR}
32
SANDBOXDIR = sandbox
33
INCLUDE_DIR = c/include
34
LIB_DIR = lib
35
LIB = libfx2
36
PACKAGE = libfx2.lib
37
TARGETDIR = firmware
38
 
39
 
40
SEARCH_DIR = ${addprefix -I./,$(INCLUDE_DIR)}
41
FIRMWARE_OBJ = vectors.rel usb_descriptors.rel startup.rel gecko4com_main.rel
42
LIB_OBJ = i2c.rel delay.rel fx2utils.rel isr.rel timer.rel usb_common.rel
43
 
44
all : clean firmware.hex
45
 
46
$(SANDBOXDIR) :
47
        mkdir -p $(SANDBOXDIR)
48
 
49
$(SANDBOXDIR)/%.a51 : asm/%.a51
50
        cd $(SANDBOXDIR); ln -s ../$< . ; cd ..
51
 
52
$(SANDBOXDIR)/%.rel : $(SANDBOXDIR)/%.a51
53
        $(AS) $(ASFLAGS) $<
54
 
55
$(SANDBOXDIR)/%.rel : c/%.c
56
        pwd ; $(CC) -c $(CFLAGS) $(SEARCH_DIR) $< -o $@
57
 
58
 
59
$(LIB_DIR)/$(PACKAGE) : ${addprefix $(SANDBOXDIR)/,$(LIB_OBJ)}
60
        mkdir -p $(LIB_DIR); for obj in $^; do sdcclib $@ $$obj; done
61
 
62
firmware.hex : ${addprefix $(SANDBOXDIR)/,$(FIRMWARE_OBJ)} ${LIB_DIR}/${PACKAGE}
63
        $(CC) $(CFLAGS) $(LDFLAGS) -o $(SANDBOXDIR)/temp.hex $+;\
64
        packihx $(SANDBOXDIR)/temp.hex > $(TARGETDIR)/$@; rm $(SANDBOXDIR)/temp.*
65
 
66
clean : sandbox
67
        mkdir -p $(SANDBOXDIR) $(LIBDIR);cd $(SANDBOXDIR) ; ls | grep -v svn | xargs rm -rf ; \
68
        cd .. ; cd $(LIB_DIR) ; ls | grep -v svn | xargs rm -rf ; cd ..\
69
        rm -rf $(TARGETDIR)/firmware.hex
70
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.