Advertisement
xerpi

SISA Makefile

Apr 7th, 2016
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.06 KB | None | 0 0
  1. TARGET = $(notdir $(CURDIR))
  2.  
  3. CFILES  := $(notdir $(wildcard *.c))
  4. SFILES  := $(notdir $(wildcard *.s))
  5. OBJS    := $(CFILES:.c=.o) $(SFILES:.s=.o)
  6.  
  7. CFLAGS = -DVERSION=\""1.7"\"
  8.  
  9. all: $(TARGET) $(TARGET).code.hex $(TARGET).data.hex
  10.  
  11. $(TARGET): $(OBJS)
  12.     @sisa-ld -T linker.lds $^ -o $@
  13.  
  14. .c.o:
  15.     @sisa-gcc $(CFLAGS) -c $< -o $@
  16.  
  17. .s.o:
  18.     @sisa-as $< -o $@
  19.  
  20. disasm: $(TARGET)
  21.     @sisa-objdump -d $<
  22.  
  23. rom: $(TARGET).code.bin $(TARGET).data.bin
  24.     @echo "Code:"
  25.     @hexdump -ve '1/2 "%.4x\n"' $(TARGET).code.bin
  26.     @echo "\nData:"
  27.     @hexdump -ve '1/2 "%.4x\n"' $(TARGET).data.bin
  28.  
  29. hex: $(TARGET).code.bin $(TARGET).data.bin
  30.     @hexdump -ve '1/2 "%.4x\n"' $(TARGET).code.bin > $(TARGET).code.hex
  31.     @hexdump -ve '1/2 "%.4x\n"' $(TARGET).data.bin > $(TARGET).data.hex
  32.  
  33. $(TARGET).code.bin: $(TARGET)
  34.     @sisa-objcopy -O binary -j .text $< $@
  35.  
  36. $(TARGET).data.bin: $(TARGET)
  37.     @sisa-objcopy -O binary -j .data $< $@
  38.  
  39. %.hex: %.bin
  40.     @hexdump -ve '1/2 "%.4x\n"' $< > $@
  41.  
  42. clean:
  43.     @rm -f $(TARGET) $(TARGET).code.bin $(TARGET).data.bin \
  44.     $(TARGET).code.hex $(TARGET).data.hex $(OBJS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement