root/branches/cmu/Makefile

Revision 7, 1.7 kB (checked in by anonymous, 3 years ago)

This commit was manufactured by cvs2svn to create branch 'cmu'.

  • Property svn:keywords set to Author Date Id Revision
Line 
1
2 # Make command to use for dependencies
3 MAKECMD=make
4
5 CFG=arm
6
7 #
8 # Configuration: arm
9 #
10 ifeq "$(CFG)" "arm"
11 OUTDIR=bin
12 OUTFILE=cmucam3.elf
13 CFG_INC=
14 //CFG_LIB=-L "/cygdrive/c/Program Files/gnuarm/arm-elf/lib/" -lm -lc -lgcc
15 //CFG_LIB=-L "/cygdrive/c/Program Files/gnuarm/lib/gcc/arm-elf/3.4.3/" -L "/cygdrive/c/Program Files/gnuarm/arm-elf/lib/" -lm -lc -lgcc
16 CFG_LIB=-L "/cygdrive/c/Program Files/GNUARM/lib/gcc/arm-elf/4.0.0/" -L "/cygdrive/c/Program Files/gnuarm/arm-elf/lib/" -lm -lc -lgcc
17 CFG_OBJ=
18 COMMON_OBJ=$(OUTDIR)/startup.o  $(OUTDIR)/main.o $(OUTDIR)/cmucam.o  $(OUTDIR)/serial.o $(OUTDIR)/libc.o $(OUTDIR)/LPC2100.o $(OUTDIR)/interrupt.o
19 OBJ=$(COMMON_OBJ) $(CFG_OBJ)
20
21 OBJCPY=arm-elf-objcopy -g -v -O ihex "$(OUTDIR)/cmucam3.elf" "$(OUTDIR)/cmucam3.hex"
22 COMPILE_SX=arm-elf-gcc -O3 -dAP -save-temps -c -g -o "$(OUTDIR)/$(*F).o" $(CFG_INC) $<
23 COMPILE=arm-elf-gcc -c -o "$(OUTDIR)/$(*F).obj" $(CFG_INC) "$<"
24 LINK=arm-elf-ld  -g -o "$(OUTDIR)/cmucam3.elf" $(OBJ) $(CFG_LIB) -T ./arm.ln
25
26 # Pattern rules
27 $(OUTDIR)/%.o : src/%.sx
28         $(COMPILE_SX)
29
30 $(OUTDIR)/%.o : src/%.c
31         $(COMPILE_SX)
32
33 $(OUTDIR)/%.o : %.i
34         $(COMPILE_SX)
35
36 $(OUTDIR)/%.o : %.ii
37         $(COMPILE_SX)
38
39 $(OUTDIR)/%.o : %.m
40         $(COMPILE_SX)
41
42 $(OUTDIR)/%.o : %.cc
43         $(COMPILE_SX)
44
45 $(OUTDIR)/%.o : %.cxx
46         $(COMPILE_SX)
47
48 $(OUTDIR)/%.o : src/%.s
49         $(COMPILE_SX)
50
51 endif
52
53 # Build rules
54 all: $(OUTDIR)/$(OUTFILE)
55 $(OUTDIR)/$(OUTFILE): $(OUTDIR)  $(OBJ)
56         $(LINK)
57         $(OBJCPY)
58
59 $(OUTDIR):
60         mkdir -p "$(OUTDIR)"
61
62 # Clean this project
63 clean:
64         rm -f $(OUTDIR)/$(OUTFILE)
65         rm -f $(OBJ)
66         rm -f $(OUTDIR)/*.hex
67         rm -f *.s
68         rm -f *.i
69
70 # Clean this project and all dependencies
71 cleanall: clean
Note: See TracBrowser for help on using the browser.