1*e2c79ab7SJonathan Neuschäfer 2*e2c79ab7SJonathan NeuschäferSOURCES := $(wildcard [0-9]*x[0-9]*.S) 3*e2c79ab7SJonathan Neuschäfer 4*e2c79ab7SJonathan NeuschäferBIN := $(patsubst %.S, %.bin, $(SOURCES)) 5*e2c79ab7SJonathan Neuschäfer 6*e2c79ab7SJonathan NeuschäferIHEX := $(patsubst %.S, %.bin.ihex, $(SOURCES)) 7*e2c79ab7SJonathan Neuschäfer 8*e2c79ab7SJonathan NeuschäferCODE := $(patsubst %.S, %.c, $(SOURCES)) 9*e2c79ab7SJonathan Neuschäfer 10*e2c79ab7SJonathan Neuschäferall: $(BIN) $(IHEX) $(CODE) 11*e2c79ab7SJonathan Neuschäfer 12*e2c79ab7SJonathan Neuschäferclean: 13*e2c79ab7SJonathan Neuschäfer @rm -f *.o *.bin.ihex *.bin *.c 14*e2c79ab7SJonathan Neuschäfer 15*e2c79ab7SJonathan Neuschäfer%.o: %.S 16*e2c79ab7SJonathan Neuschäfer @cc -c $^ 17*e2c79ab7SJonathan Neuschäfer 18*e2c79ab7SJonathan Neuschäfer%.bin.nocrc: %.o 19*e2c79ab7SJonathan Neuschäfer @objcopy -Obinary $^ $@ 20*e2c79ab7SJonathan Neuschäfer 21*e2c79ab7SJonathan Neuschäfer%.crc: %.bin.nocrc 22*e2c79ab7SJonathan Neuschäfer @list=$$(for i in `seq 1 127`; do head -c$$i $^ | tail -c1 \ 23*e2c79ab7SJonathan Neuschäfer | hexdump -v -e '/1 "%02X+"'; done); \ 24*e2c79ab7SJonathan Neuschäfer echo "ibase=16;100-($${list%?})%100" | bc >$@ 25*e2c79ab7SJonathan Neuschäfer 26*e2c79ab7SJonathan Neuschäfer%.p: %.crc %.S 27*e2c79ab7SJonathan Neuschäfer @cc -c -DCRC="$$(cat $*.crc)" -o $@ $*.S 28*e2c79ab7SJonathan Neuschäfer 29*e2c79ab7SJonathan Neuschäfer%.bin: %.p 30*e2c79ab7SJonathan Neuschäfer @objcopy -Obinary $^ $@ 31*e2c79ab7SJonathan Neuschäfer 32*e2c79ab7SJonathan Neuschäfer%.bin.ihex: %.p 33*e2c79ab7SJonathan Neuschäfer @objcopy -Oihex $^ $@ 34*e2c79ab7SJonathan Neuschäfer @dos2unix $@ 2>/dev/null 35*e2c79ab7SJonathan Neuschäfer 36*e2c79ab7SJonathan Neuschäfer%.c: %.bin 37*e2c79ab7SJonathan Neuschäfer @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@ 38