-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·40 lines (30 loc) · 907 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
VERSION = 1
PATCHLEVEL = 0
SUBLEVEL = 0
NAME = "Bday Edition"
CROSS_COMPILE = arm-arago-linux-gnueabi-
CC = ${CROSS_COMPILE}gcc
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJFMT = binary
SRCDIR = src
BINDIR = bin
INCLUDES = $(SRCDIR)/include
CFLAGS =-mcpu=cortex-m3 -mthumb -nostdlib -Wall -g -I$(INCLUDES)
LDFLAGS =-nostartfiles -fno-exceptions -Tfirmware.ld
EXECUTABLE=am335x-pm-firmware.elf
.PHONY: all clean
SOURCES = $(shell find $(SRCDIR) -name *.c)
OBJECTS = $(SOURCES:.c=.o)
$(EXECUTABLE): $(OBJECTS)
@echo "Compiling..."
@echo $(OBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) -o $(BINDIR)/$@
all: $(EXECUTABLE)
@echo "Linking..."
$(OBJCOPY) -O$(OBJFMT) $(BINDIR)/$(EXECUTABLE) $(BINDIR)/$(EXECUTABLE:.elf=.bin)
clean:
@echo "Cleaning up..."
-$(shell find . -name *.o -exec rm {} \;)
-$(shell rm -f $(BINDIR)/$(EXECUTABLE))
-$(shell rm -f $(BINDIR)/$(EXECUTABLE:.elf=.bin))
@echo "Done!"