Advertisement
Guest User

3DS_MAKEFILE

a guest
Jul 23rd, 2014
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.18 KB | None | 0 0
  1. CC = arm-none-eabi-gcc
  2. LINK = arm-none-eabi-ld
  3. OBJCOPY = arm-none-eabi-objcopy
  4. CTRULIB = "../libctru"
  5. GCCLIB =  "../libgcc"
  6. CFLAGS += -Wall -std=c99 -march=armv6 -O3 -I"$(CTRULIB)/include" -I$(DEVKITPRO)/libnds/include
  7. LDFLAGS += --script=ctr_hb_script.ld -L"$(DEVKITARM)/arm-none-eabi/lib" -L"$(CTRULIB)/lib" -L"$(GCCLIB)"
  8.  
  9. CFILES = $(wildcard source/*.c)
  10. OFILES = $(CFILES:source/%.c=build/%.o)
  11. DFILES = $(CFILES:source/%.c=build/%.d)
  12. SFILES = $(wildcard source/*.s)
  13. OFILES += $(SFILES:source/%.s=build/%.o)
  14. PROJECTNAME = ${shell basename "$(CURDIR)"}
  15.  
  16. .PHONY:=all dir
  17.  
  18. all: dir $(PROJECTNAME).bin
  19.  
  20. dir:
  21.     @mkdir -p build
  22.  
  23. $(PROJECTNAME).bin: $(PROJECTNAME).elf
  24.     $(OBJCOPY) -O binary $< $@
  25.     @rm -f  $(PROJECTNAME).bin
  26. $(PROJECTNAME).elf: $(OFILES)
  27.     $(LINK) $(LDFLAGS) -o $(PROJECTNAME).elf $(filter-out build/crt0.o, $(OFILES)) -lctru -lc -lgcc
  28.    
  29. clean:
  30.     @rm -f build/*.o build/*.d
  31.     @rm -f $(PROJECTNAME).elf $(PROJECTNAME).bin
  32.     @rmdir /s /q build
  33.     @cls
  34.     @echo "All cleaned up!"
  35.  
  36. -include $(DFILES)
  37.  
  38. build/%.o: source/%.c
  39.     $(CC) $(CFLAGS) -c $< -o $@
  40.     @$(CC) -MM $< > build/$*.d
  41.  
  42. build/%.o: source/%.s
  43.     $(CC) $(CFLAGS) -c $< -o $@
  44.     @$(CC) -MM $< > build/$*.d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement