Martin Roth | adaab4a | 2022-10-28 22:38:44 -0600 | [diff] [blame] | 1 | ## SPDX-License-Identifier: GPL-2.0-only |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 2 | sconfigobj := |
| 3 | sconfigobj += lex.yy.o |
| 4 | sconfigobj += sconfig.tab.o |
Patrick Georgi | 114e7b2 | 2010-05-05 11:19:50 +0000 | [diff] [blame] | 5 | sconfigobj += main.o |
| 6 | |
| 7 | SCONFIGFLAGS += -I$(top)/util/sconfig -I$(objutil)/sconfig |
Julius Werner | 98eeb96 | 2019-12-11 15:47:42 -0800 | [diff] [blame] | 8 | SCONFIGFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 9 | |
Patrick Georgi | a2acbc7 | 2010-04-16 22:48:57 +0000 | [diff] [blame] | 10 | $(objutil)/sconfig: |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 11 | mkdir -p $@ |
| 12 | |
Patrick Georgi | d935f03 | 2013-12-05 20:17:36 +0100 | [diff] [blame] | 13 | $(objutil)/sconfig/.generated: $(objutil)/sconfig |
| 14 | touch $@ |
| 15 | |
| 16 | $(objutil)/sconfig/%.o: util/sconfig/%.c | $(objutil)/sconfig/.generated |
Patrick Georgi | 114e7b2 | 2010-05-05 11:19:50 +0000 | [diff] [blame] | 17 | printf " HOSTCC $(subst $(obj)/,,$(@))\n" |
| 18 | $(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $< |
| 19 | |
Patrick Georgi | a2acbc7 | 2010-04-16 22:48:57 +0000 | [diff] [blame] | 20 | $(objutil)/sconfig/%.o: $(objutil)/sconfig/%.c |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 21 | printf " HOSTCC $(subst $(obj)/,,$(@))\n" |
| 22 | $(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $< |
| 23 | |
Martin Roth | f411b70 | 2017-04-09 19:12:42 -0600 | [diff] [blame] | 24 | ifeq ($(CONFIG_UTIL_GENPARSER),y) |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 25 | $(top)/util/sconfig/lex.yy.c_shipped: $(top)/util/sconfig/sconfig.l |
Stefan Reinauer | 9bf7810 | 2010-08-09 13:28:18 +0000 | [diff] [blame] | 26 | printf " FLEX $(subst $(top)/,,$(@))\n" |
Patrick Georgi | 05245ec | 2010-04-08 12:59:41 +0000 | [diff] [blame] | 27 | flex -L -o $@ $< |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 28 | |
| 29 | # the .c rule also creates .h |
| 30 | $(top)/util/sconfig/sconfig.tab.h_shipped: $(top)/util/sconfig/sconfig.tab.c_shipped |
| 31 | $(top)/util/sconfig/sconfig.tab.c_shipped: $(top)/util/sconfig/sconfig.y |
Stefan Reinauer | 9bf7810 | 2010-08-09 13:28:18 +0000 | [diff] [blame] | 32 | printf " BISON $(subst $(top)/,,$(@))\n" |
Patrick Georgi | 05245ec | 2010-04-08 12:59:41 +0000 | [diff] [blame] | 33 | bison -l --defines=$(top)/util/sconfig/sconfig.tab.h_shipped -o $@ $< |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 34 | |
| 35 | endif |
| 36 | |
Patrick Georgi | a2acbc7 | 2010-04-16 22:48:57 +0000 | [diff] [blame] | 37 | $(objutil)/sconfig/lex.yy.o: $(objutil)/sconfig/sconfig.tab.h |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 38 | |
Patrick Georgi | a2acbc7 | 2010-04-16 22:48:57 +0000 | [diff] [blame] | 39 | $(objutil)/sconfig/%: $(top)/util/sconfig/%_shipped |
Patrick Georgi | 109a1de | 2010-04-08 12:00:35 +0000 | [diff] [blame] | 40 | mkdir -p $(dir $@) |
Patrick Georgi | 7e8c9aa | 2010-04-08 11:37:43 +0000 | [diff] [blame] | 41 | cp $< $@ |
| 42 | |
Patrick Georgi | d935f03 | 2013-12-05 20:17:36 +0100 | [diff] [blame] | 43 | $(objutil)/sconfig/sconfig: $(addprefix $(objutil)/sconfig/,$(sconfigobj)) |
Stefan Reinauer | e705f9c | 2010-04-08 13:16:32 +0000 | [diff] [blame] | 44 | printf " HOSTCC $(subst $(obj)/,,$(@)) (link)\n" |
Patrick Georgi | a2acbc7 | 2010-04-16 22:48:57 +0000 | [diff] [blame] | 45 | $(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(objutil)/sconfig/,$(sconfigobj)) |
Patrick Georgi | aeeafc0 | 2014-04-15 20:14:21 +0200 | [diff] [blame] | 46 | |
| 47 | $(addprefix $(objutil)/sconfig/,$(sconfigobj)) : $(objutil)/sconfig/sconfig.tab.h $(objutil)/sconfig/sconfig.tab.c $(objutil)/sconfig/lex.yy.c |