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

Subversion Repositories mips32r1

[/] [mips32r1/] [trunk/] [Software/] [demos/] [XD3_I2C/] [bin/] [Makefile] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ayersg
# Makefile for XUM
2
#
3
# Compiles code to run on the XUM platform, which
4
# is based on MIPS32 and a GCC cross-compiler toolchain.
5
#
6
# Author: Grant Ayers (ayers@cs.utah.edu)
7
# Date:   3 July 2012
8
#
9
 
10
SHELL = /bin/sh
11
 
12
SRC          = ../src
13
MIPS_PREFIX  = /home/User/XUM/gnu_mips/crosstools
14
MIPS_BIN     = $(MIPS_PREFIX)/bin
15
MIPS_LIB     = $(MIPS_PREFIX)/mips-elf/lib
16
MIPS_CC      = $(MIPS_BIN)/mips-elf-gcc-4.7.1.exe
17
MIPS_AS      = $(MIPS_BIN)/mips-elf-as.exe
18
MIPS_LD      = $(MIPS_BIN)/mips-elf-ld.exe
19
MIPS_OBJDUMP = $(MIPS_BIN)/mips-elf-objdump.exe
20
MIPS_OBJCOPY = $(MIPS_BIN)/mips-elf-objcopy.exe
21
UTIL_PREFIX  = /home/User/XUM/demos/util
22
UTIL_CONVBIN = $(UTIL_PREFIX)/bintohex.exe
23
UTIL_CONVXUM = $(UTIL_PREFIX)/bintoxum.exe
24
 
25
AS_FLAGS      = -march=mips32 -EB -G0
26
LD_FLAGS      = -EB -static -Map app.map -T ../src/os/xum.ls
27
LD_LIBS       = -lm -lc -lgcc
28
LD_SEARCH     = -L$(MIPS_PREFIX)/mips-elf/lib \
29
                -L$(MIPS_PREFIX)/lib/gcc/mips-elf/4.7.1
30
LD_DRIVER     = $(MIPS_LD) $(LD_FLAGS) $(LD_SEARCH) $(LD_LIBS)
31
CC_FLAGS_ARCH = -march=mips32 -EB -msoft-float -mno-mips16 -mno-branch-likely \
32
                -mgpopt
33
CC_FLAGS_LANG = -Wall -O2
34
CC_FLAGS_INC  = -I../src/
35
CC_FLAGS_AS   = -Wa,-EB,-mips32,-msoft-float
36
CC_FLAGS_LD   = -nostdlib -nostartfiles -static -T ../src/os/xum.ls
37
CC_FLAGS_LIB  = -lm -lc -lgcc
38
CC_DRIVER     = $(MIPS_CC) $(CC_FLAGS_ARCH) $(CC_FLAGS_LANG) \
39
                $(CC_FLAGS_AS) $(CC_FLAGS_INC)
40
 
41
 
42
all : app
43
 
44
app : app.o monitor.o i2c.o lcd.o boot.o vectors.o exceptions.o exception_handler.o piezo.o
45
        $(LD_DRIVER) $^ -o app.exe
46
        @$(MIPS_OBJDUMP) -EB --disassemble app.exe > app.lst
47
        @$(MIPS_OBJCOPY) -O binary -j .text  app.exe app-code.bin
48
        @$(MIPS_OBJCOPY) -O binary -j .data  app.exe app-data1.bin
49
        @$(MIPS_OBJCOPY) -O binary -j .sdata app.exe app-data2.bin
50
        @$(MIPS_OBJCOPY) -O binary -j .sbss  app.exe app-data3.bin
51
        @$(MIPS_OBJCOPY) -O binary -j .bss   app.exe app-data4.bin
52
        @cat app-data1.bin app-data2.bin app-data3.bin app-data4.bin >> app-data.bin
53
        @$(UTIL_CONVXUM) -d 4096 app-code.bin app-data.bin app.xum
54
        #@$(UTIL_CONVBIN) -c -b app-code.bin app-code.coe
55
        $(UTIL_CONVBIN) -c -b app.xum app.coe
56
 
57
 
58
 
59
app.o : $(SRC)/app/app.c
60
        $(CC_DRIVER) -c $(SRC)/app/app.c -o app.o
61
 
62
uart.o : $(SRC)/drivers/uart.c $(SRC)/drivers/uart.h
63
        $(CC_DRIVER) -c $(SRC)/drivers/uart.c -o uart.o
64
 
65
i2c.o : $(SRC)/drivers/i2c.c $(SRC)/drivers/i2c.h
66
        $(CC_DRIVER) -c $(SRC)/drivers/i2c.c -o i2c.o
67
 
68
lcd.o : $(SRC)/drivers/lcd.c $(SRC)/drivers/lcd.h
69
        $(CC_DRIVER) -c $(SRC)/drivers/lcd.c -o lcd.o
70
 
71
monitor.o : $(SRC)/drivers/monitor.c $(SRC)/drivers/monitor.h i2c.o
72
        $(CC_DRIVER) -c $(SRC)/drivers/monitor.c -o monitor.o
73
 
74
piezo.o : $(SRC)/drivers/piezo.c $(SRC)/drivers/piezo.h
75
        $(CC_DRIVER) -c $(SRC)/drivers/piezo.c -o piezo.o
76
 
77
exception_handler.o : $(SRC)/os/exception_handler.c $(SRC)/os/exception_handler.h lcd.o piezo.o monitor.o
78
        $(CC_DRIVER) -c $(SRC)/os/exception_handler.c -o exception_handler.o
79
 
80
boot.o : $(SRC)/os/boot.asm
81
        $(MIPS_AS) $(AS_FLAGS) -o boot.o $(SRC)/os/boot.asm
82
 
83
vectors.o : $(SRC)/os/vectors.asm
84
        $(MIPS_AS) $(AS_FLAGS) -o vectors.o $(SRC)/os/vectors.asm
85
 
86
exceptions.o : $(SRC)/os/exceptions.asm
87
        $(MIPS_AS) $(AS_FLAGS) -o exceptions.o $(SRC)/os/exceptions.asm
88
 
89
clean :
90
        rm -f *.o *.exe *.map *.coe *.bin *.map *.xum *.lst
91
 

powered by: WebSVN 2.1.0

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