98eeb96135
This patch creates a new commonlib/bsd subdirectory with a similar purpose to the existing commonlib, with the difference that all files under this subdirectory shall be licensed under the BSD-3-Clause license (or compatible permissive license). The goal is to allow more code to be shared with libpayload in the future. Initially, I'm going to move a few files there that have already been BSD-licensed in the existing commonlib. I am also exracting most contents of the often-needed <commonlib/helpers.h> as long as they have either been written by me (and are hereby relicensed) or have an existing equivalent in BSD-licensed libpayload code. I am also relicensing <commonlib/compression.h> (written by me) and <commonlib/compiler.h> (same stuff exists in libpayload). Finally, I am extracting the cb_err error code definitions from <types.h> into a new BSD-licensed header so that future commonlib/bsd code can build upon a common set of error values. I am making the assumption here that the enum constants and the half-sentence fragments of documentation next to them by themselves do not meet the threshold of copyrightability. Change-Id: I316cea70930f131e8e93d4218542ddb5ae4b63a2 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38420 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
46 lines
1.6 KiB
Makefile
46 lines
1.6 KiB
Makefile
sconfigobj :=
|
|
sconfigobj += lex.yy.o
|
|
sconfigobj += sconfig.tab.o
|
|
sconfigobj += main.o
|
|
|
|
SCONFIGFLAGS += -I$(top)/util/sconfig -I$(objutil)/sconfig
|
|
SCONFIGFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
|
|
|
|
$(objutil)/sconfig:
|
|
mkdir -p $@
|
|
|
|
$(objutil)/sconfig/.generated: $(objutil)/sconfig
|
|
touch $@
|
|
|
|
$(objutil)/sconfig/%.o: util/sconfig/%.c | $(objutil)/sconfig/.generated
|
|
printf " HOSTCC $(subst $(obj)/,,$(@))\n"
|
|
$(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $<
|
|
|
|
$(objutil)/sconfig/%.o: $(objutil)/sconfig/%.c
|
|
printf " HOSTCC $(subst $(obj)/,,$(@))\n"
|
|
$(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $<
|
|
|
|
ifeq ($(CONFIG_UTIL_GENPARSER),y)
|
|
$(top)/util/sconfig/lex.yy.c_shipped: $(top)/util/sconfig/sconfig.l
|
|
printf " FLEX $(subst $(top)/,,$(@))\n"
|
|
flex -L -o $@ $<
|
|
|
|
# the .c rule also creates .h
|
|
$(top)/util/sconfig/sconfig.tab.h_shipped: $(top)/util/sconfig/sconfig.tab.c_shipped
|
|
$(top)/util/sconfig/sconfig.tab.c_shipped: $(top)/util/sconfig/sconfig.y
|
|
printf " BISON $(subst $(top)/,,$(@))\n"
|
|
bison -l --defines=$(top)/util/sconfig/sconfig.tab.h_shipped -o $@ $<
|
|
|
|
endif
|
|
|
|
$(objutil)/sconfig/lex.yy.o: $(objutil)/sconfig/sconfig.tab.h
|
|
|
|
$(objutil)/sconfig/%: $(top)/util/sconfig/%_shipped
|
|
mkdir -p $(dir $@)
|
|
cp $< $@
|
|
|
|
$(objutil)/sconfig/sconfig: $(addprefix $(objutil)/sconfig/,$(sconfigobj))
|
|
printf " HOSTCC $(subst $(obj)/,,$(@)) (link)\n"
|
|
$(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(objutil)/sconfig/,$(sconfigobj))
|
|
|
|
$(addprefix $(objutil)/sconfig/,$(sconfigobj)) : $(objutil)/sconfig/sconfig.tab.h $(objutil)/sconfig/sconfig.tab.c $(objutil)/sconfig/lex.yy.c
|