162306a36Sopenharmony_ci 262306a36Sopenharmony_ciSOURCES := $(wildcard [0-9]*x[0-9]*.S) 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciBIN := $(patsubst %.S, %.bin, $(SOURCES)) 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciIHEX := $(patsubst %.S, %.bin.ihex, $(SOURCES)) 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciCODE := $(patsubst %.S, %.c, $(SOURCES)) 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciall: $(BIN) $(IHEX) $(CODE) 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciclean: 1362306a36Sopenharmony_ci @rm -f *.o *.bin.ihex *.bin *.c 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci%.o: %.S 1662306a36Sopenharmony_ci @cc -c $^ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci%.bin.nocrc: %.o 1962306a36Sopenharmony_ci @objcopy -Obinary $^ $@ 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci%.crc: %.bin.nocrc 2262306a36Sopenharmony_ci @list=$$(for i in `seq 1 127`; do head -c$$i $^ | tail -c1 \ 2362306a36Sopenharmony_ci | hexdump -v -e '/1 "%02X+"'; done); \ 2462306a36Sopenharmony_ci echo "ibase=16;100-($${list%?})%100" | bc >$@ 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci%.p: %.crc %.S 2762306a36Sopenharmony_ci @cc -c -DCRC="$$(cat $*.crc)" -o $@ $*.S 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci%.bin: %.p 3062306a36Sopenharmony_ci @objcopy -Obinary $^ $@ 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci%.bin.ihex: %.p 3362306a36Sopenharmony_ci @objcopy -Oihex $^ $@ 3462306a36Sopenharmony_ci @dos2unix $@ 2>/dev/null 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci%.c: %.bin 3762306a36Sopenharmony_ci @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@ 38