37 lines · 707 B · Makefile
RawDownload
 SOURCES	:= $(wildcard [0-9]*x[0-9]*.S) BIN	:= $(patsubst %.S, %.bin, $(SOURCES)) IHEX	:= $(patsubst %.S, %.bin.ihex, $(SOURCES)) CODE	:= $(patsubst %.S, %.c, $(SOURCES)) all:	$(BIN) $(IHEX) $(CODE) clean:	@rm -f *.o *.bin.ihex *.bin *.c %.o:	%.S	@cc -c $^ %.bin.nocrc:	%.o	@objcopy -Obinary $^ $@ %.crc:	%.bin.nocrc	@list=$$(for i in `seq 1 127`; do head -c$$i $^ | tail -c1 \		| hexdump -v -e '/1 "%02X+"'; done); \		echo "ibase=16;100-($${list%?})%100" | bc >$@ %.p:	%.crc %.S	@cc -c -DCRC="$$(cat $*.crc)" -o $@ $*.S %.bin:	%.p	@objcopy -Obinary $^ $@ %.bin.ihex:	%.p	@objcopy -Oihex $^ $@	@dos2unix $@ 2>/dev/null %.c:	%.bin	@echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@