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