18c2ecf20Sopenharmony_ci 28c2ecf20Sopenharmony_ciSOURCES := $(wildcard [0-9]*x[0-9]*.S) 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciBIN := $(patsubst %.S, %.bin, $(SOURCES)) 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciIHEX := $(patsubst %.S, %.bin.ihex, $(SOURCES)) 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciCODE := $(patsubst %.S, %.c, $(SOURCES)) 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciall: $(BIN) $(IHEX) $(CODE) 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciclean: 138c2ecf20Sopenharmony_ci @rm -f *.o *.bin.ihex *.bin *.c 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci%.o: %.S 168c2ecf20Sopenharmony_ci @cc -c $^ 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci%.bin.nocrc: %.o 198c2ecf20Sopenharmony_ci @objcopy -Obinary $^ $@ 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci%.crc: %.bin.nocrc 228c2ecf20Sopenharmony_ci @list=$$(for i in `seq 1 127`; do head -c$$i $^ | tail -c1 \ 238c2ecf20Sopenharmony_ci | hexdump -v -e '/1 "%02X+"'; done); \ 248c2ecf20Sopenharmony_ci echo "ibase=16;100-($${list%?})%100" | bc >$@ 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci%.p: %.crc %.S 278c2ecf20Sopenharmony_ci @cc -c -DCRC="$$(cat $*.crc)" -o $@ $*.S 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci%.bin: %.p 308c2ecf20Sopenharmony_ci @objcopy -Obinary $^ $@ 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci%.bin.ihex: %.p 338c2ecf20Sopenharmony_ci @objcopy -Oihex $^ $@ 348c2ecf20Sopenharmony_ci @dos2unix $@ 2>/dev/null 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci%.c: %.bin 378c2ecf20Sopenharmony_ci @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@ 38