forked from yifanlu/Spider3DSTools
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
52 lines (37 loc) · 991 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
CC=arm-none-eabi-gcc
CFLAGS=-fPIE -fno-zero-initialized-in-bss -std=c99 -mcpu=mpcore -fshort-wchar -O2 -Wall -shared -static
ASFLAGS=-nostartfiles -nostdlib
LD=arm-none-eabi-gcc
LDFLAGS=-T uvl.x -nodefaultlibs -nostdlib
OBJCOPY=arm-none-eabi-objcopy
OBJCOPYFLAGS=
DATSIZE=0x300
BINDIR=bin/
CODDIR=code/
ROPDIR=rop/
BROWSERIFY=$(BINDIR)browserify
FILES=downfiles.bin
TARGETS=$(addprefix $(BINDIR), $(FILES))
all: $(TARGETS)
%.o: $(CODDIR)%.c
$(CC) -c -o $@ $< $(CFLAGS)
%.ro: $(ROPDIR)%.S
$(CC) -c -o $@ $< $(ASFLAGS)
%.elf: %.o
$(LD) -o $@ $^ $(LDFLAGS)
$(BINDIR)%.bin: %.elf
$(OBJCOPY) -O binary $^ $@
$(BINDIR)%.dat: %.ro
$(OBJCOPY) --pad-to $(DATSIZE) -O binary $^ $@
$(BINDIR)%.js: $(BINDIR)%.dat
$(BROWSERIFY) -c $^ > $@
$(BINDIR)%.js: $(BINDIR)%.bin
$(BROWSERIFY) $^ > $@
.PHONY: clean bindir browserify
clean:
rm -rf *~ *.o *.elf *.bin *.s *.dat
$(TARGETS): | bindir browserify
bindir:
mkdir -p $(BINDIR)
browserify:
gcc -o $(BROWSERIFY) $(CODDIR)browserify.c