Martin Roth | adaab4a | 2022-10-28 22:38:44 -0600 | [diff] [blame] | 1 | ## SPDX-License-Identifier: GPL-2.0-only |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 2 | CC = gcc |
| 3 | YACC = bison |
| 4 | LEX = flex |
Denis 'GNUtoo' Carikli | 780e931 | 2018-01-10 14:35:55 +0100 | [diff] [blame] | 5 | TARGET=bincfg |
Martin Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 6 | WERROR=-Werror |
| 7 | CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR} |
| 8 | CFLAGS+=-Wno-unused-function |
| 9 | LDFLAGS= -lfl |
| 10 | |
| 11 | all: $(TARGET) |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 12 | |
| 13 | $(TARGET): $(TARGET).lex.o $(TARGET).tab.o |
Martin Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 14 | $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@ |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 15 | |
| 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 Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 23 | gen-gbe-ich9m: $(TARGET) |
Martin Roth | a789607 | 2021-04-05 11:26:07 -0600 | [diff] [blame] | 24 | $(abspath $(TARGET)) gbe-ich9m.spec gbe-ich9m.set gbe1.bin |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 25 | # duplicate binary as per spec |
| 26 | cat gbe1.bin gbe1.bin > flashregion_3_gbe.bin |
| 27 | rm -f gbe1.bin |
| 28 | |
Tom Hiller | 9e7c99d | 2020-08-13 22:31:42 -0400 | [diff] [blame] | 29 | # Use this target to generate GbE for X220/x230 |
Martin Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 30 | gen-gbe-82579LM: $(TARGET) |
Martin Roth | a789607 | 2021-04-05 11:26:07 -0600 | [diff] [blame] | 31 | $(abspath $(TARGET)) gbe-82579LM.spec gbe-82579LM.set gbe1.bin |
Tom Hiller | 9e7c99d | 2020-08-13 22:31:42 -0400 | [diff] [blame] | 32 | # duplicate binary as per spec |
| 33 | cat gbe1.bin gbe1.bin > flashregion_3_gbe.bin |
| 34 | rm -f gbe1.bin |
| 35 | |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 36 | # Use this target to generate IFD for X200 |
Martin Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 37 | gen-ifd-x200: $(TARGET) |
Martin Roth | a789607 | 2021-04-05 11:26:07 -0600 | [diff] [blame] | 38 | $(abspath $(TARGET)) ifd-x200.spec ifd-x200.set flashregion_0_fd.bin |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 39 | |
Damien Zammit | 0685322 | 2016-11-16 21:06:54 +1100 | [diff] [blame] | 40 | clean: |
Denis 'GNUtoo' Carikli | 780e931 | 2018-01-10 14:35:55 +0100 | [diff] [blame] | 41 | rm -f *.lex.c *.tab.c *.tab.h *.o bincfg flashregion_0_fd.bin flashregion_3_gbe.bin |
Martin Roth | fa9eb95 | 2021-02-13 23:24:12 -0700 | [diff] [blame] | 42 | |
| 43 | distclean: clean |
| 44 | |
| 45 | help: |
| 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 |