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