blob: dbcbc7711cf0e4303052ea32afbe28d1446bd562 [file] [log] [blame]
Martin Rothadaab4a2022-10-28 22:38:44 -06001## SPDX-License-Identifier: GPL-2.0-only
Damien Zammit06853222016-11-16 21:06:54 +11002CC = gcc
3YACC = bison
4LEX = flex
Denis 'GNUtoo' Carikli780e9312018-01-10 14:35:55 +01005TARGET=bincfg
Martin Rothfa9eb952021-02-13 23:24:12 -07006WERROR=-Werror
7CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR}
8CFLAGS+=-Wno-unused-function
9LDFLAGS= -lfl
10
11all: $(TARGET)
Damien Zammit06853222016-11-16 21:06:54 +110012
13$(TARGET): $(TARGET).lex.o $(TARGET).tab.o
Martin Rothfa9eb952021-02-13 23:24:12 -070014 $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
Damien Zammit06853222016-11-16 21:06:54 +110015
16$(TARGET).lex.c: $(TARGET).l $(TARGET).tab.h
17 $(LEX) -o $(patsubst $(TARGET).l,$(TARGET).lex.c,$<) $<
18
19$(TARGET).tab.c $(TARGET).tab.h: $(TARGET).y
20 $(YACC) -d $<
21
22# Use this target to generate GbE for X200
Martin Rothfa9eb952021-02-13 23:24:12 -070023gen-gbe-ich9m: $(TARGET)
Martin Rotha7896072021-04-05 11:26:07 -060024 $(abspath $(TARGET)) gbe-ich9m.spec gbe-ich9m.set gbe1.bin
Damien Zammit06853222016-11-16 21:06:54 +110025 # duplicate binary as per spec
26 cat gbe1.bin gbe1.bin > flashregion_3_gbe.bin
27 rm -f gbe1.bin
28
Tom Hiller9e7c99d2020-08-13 22:31:42 -040029# Use this target to generate GbE for X220/x230
Martin Rothfa9eb952021-02-13 23:24:12 -070030gen-gbe-82579LM: $(TARGET)
Martin Rotha7896072021-04-05 11:26:07 -060031 $(abspath $(TARGET)) gbe-82579LM.spec gbe-82579LM.set gbe1.bin
Tom Hiller9e7c99d2020-08-13 22:31:42 -040032 # duplicate binary as per spec
33 cat gbe1.bin gbe1.bin > flashregion_3_gbe.bin
34 rm -f gbe1.bin
35
Damien Zammit06853222016-11-16 21:06:54 +110036# Use this target to generate IFD for X200
Martin Rothfa9eb952021-02-13 23:24:12 -070037gen-ifd-x200: $(TARGET)
Martin Rotha7896072021-04-05 11:26:07 -060038 $(abspath $(TARGET)) ifd-x200.spec ifd-x200.set flashregion_0_fd.bin
Damien Zammit06853222016-11-16 21:06:54 +110039
Damien Zammit06853222016-11-16 21:06:54 +110040clean:
Denis 'GNUtoo' Carikli780e9312018-01-10 14:35:55 +010041 rm -f *.lex.c *.tab.c *.tab.h *.o bincfg flashregion_0_fd.bin flashregion_3_gbe.bin
Martin Rothfa9eb952021-02-13 23:24:12 -070042
43distclean: clean
44
45help:
46 @echo "${TARGET}: Compiler/Decompiler for data blobs with specs"
47 @echo "Targets: all, clean, distclean, help"
48 @echo " gen-gbe-ich9m - generate GbE for X200"
49 @echo " gen-gbe-82579LM - generate GbE for X220/x230"
50 @echo " gen-ifd-x200 - generate IFD for X200"
51 @echo "To disable warnings as errors, run make as:"
52 @echo " make all WERROR=\"\""
53
54.PHONY: all clean distclean help
55.PHONY: gen-gbe-ich9m gen-ifd-x200 gen-gbe-82579LM