1
2CFG_MLONG64=0
3
4CFE_DIRS =  ../include ../arch/mips/cpu/sb1250/include ../lib ../verif ../api
5CFE_INCLUDES =  $(patsubst %,-I%,$(subst :, ,$(CFE_DIRS)))
6
7VPATH = $(CFE_DIRS)
8
9INCLUDES =  -I. $(CFE_INCLUDES)
10COMFLAGS = -g -c -mcpu=sb1 -ffreestanding
11CFLAGS = $(INCLUDES) $(COMFLAGS) -O -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -G 0 -DCFE_API_ALL
12
13GCC = $(TOOLS)sb1-elf-gcc
14GLD = $(TOOLS)sb1-elf-ld
15OBJCOPY = $(TOOLS)sb1-elf-objcopy
16
17ifeq (${CFG_MLONG64},1)
18CFLAGS += -mlong64 -D__long64
19endif
20
21LDFLAGS = --script cfe_applet.lds -g 
22
23ifeq (CFG_LITTLE,1)
24CFLAGS += -EL
25LDFLAGS += -EL
26else
27CFLAGS += -EB
28LDFLAGS += -EB
29endif
30
31
32%.o : %.c
33	$(GCC) $(CFLAGS) -o $@ $<
34
35%.o : %.S
36	$(GCC) $(CFLAGS) -o $@ $<
37
38
39LIBOBJS = lib_printf.o lib_string.o cfe_api.o
40
41all : test vapitest
42	echo done
43
44test : test.o minicrt0.o $(LIBOBJS) 
45	$(GLD) -o test.elfraw -Map test.mapraw $(LDFLAGS) minicrt0.o test.o $(LIBOBJS) 
46	$(GLD) -o test.elf -Ttext 0x20000000 -Map test.map $(LDFLAGS) minicrt0.o test.o $(LIBOBJS) 
47	$(OBJCOPY) -O binary test.elfraw test
48	$(OBJCOPY) -O srec test.elfraw test.srec
49
50download : download.o minicrt0.o $(LIBOBJS) 
51	$(GLD) -o download.elf -Ttext 0x80001000 -Map download.map $(LDFLAGS) minicrt0.o download.o $(LIBOBJS) 
52	$(OBJCOPY) --strip-unneeded download.elf s.download.elf
53	gzip --best -c s.download.elf > download.elf.gz
54	$(GLD) -Tdownload.lds -bbinary -o download.data download.elf.gz
55
56vapitest : vapitest.o 
57	$(GLD) -o vapitest -Ttext 0x80020000 -Map vapitest.map vapitest.o
58	$(OBJCOPY) -O srec vapitest vapitest.srec
59
60clean :
61	rm -f *.o *~ *.map *.mapraw
62	rm -f test test.elf test.srec test.elfraw
63	rm -f *download.elf *.gz
64	rm -f vapitest vapitest.srec
65