39 lines
996 B
Makefile
39 lines
996 B
Makefile
![]() |
CC = arm-none-eabi-gcc
|
||
|
LINK = arm-none-eabi-ld
|
||
|
OBJCOPY = arm-none-eabi-objcopy
|
||
|
CTRULIB = "../libctru"
|
||
|
CFLAGS += -Wall -std=c99 -march=armv6 -O0 -I"$(CTRULIB)/include"
|
||
|
LDFLAGS += --script=ccd00.ld -L"$(DEVKITARM)/arm-none-eabi/lib" -L"$(CTRULIB)/lib"
|
||
|
|
||
|
CFILES = $(wildcard source/*.c)
|
||
|
OFILES = $(CFILES:source/%.c=build/%.o)
|
||
|
DFILES = $(CFILES:source/%.c=build/%.d)
|
||
|
SFILES = $(wildcard source/*.s)
|
||
|
OFILES += $(SFILES:source/%.s=build/%.o)
|
||
|
PROJECTNAME = ${shell basename "$(CURDIR)"}
|
||
|
|
||
|
.PHONY:=all
|
||
|
|
||
|
all: $(PROJECTNAME).bin
|
||
|
|
||
|
$(PROJECTNAME).bin: $(PROJECTNAME).elf
|
||
|
$(OBJCOPY) -O binary $< $@
|
||
|
|
||
|
$(PROJECTNAME).elf: $(OFILES)
|
||
|
$(LINK) $(LDFLAGS) -o $(PROJECTNAME).elf $(filter-out build/crt0.o, $(OFILES)) -lctru -lc
|
||
|
|
||
|
clean:
|
||
|
@rm -f build/*.o build/*.d
|
||
|
@rm -f $(PROJECTNAME).elf $(PROJECTNAME).bin
|
||
|
@echo "all cleaned up !"
|
||
|
|
||
|
-include $(DFILES)
|
||
|
|
||
|
build/%.o: source/%.c
|
||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||
|
@$(CC) -MM $< > build/$*.d
|
||
|
|
||
|
build/%.o: source/%.s
|
||
|
$(CC) $(CFLAGS) -c $< -o $@
|
||
|
@$(CC) -MM $< > build/$*.d
|