On Wed, Jun 29, 2022 at 07:35:31PM +0300, Tero Tervala wrote: > Set STATIC_BUILD=1 environment variable to enable static building > when using makefiles. > > Signed-off-by: Tero Tervala <tero.tervala@xxxxxxxxxx> Applied, thanks. > --- > Makefile | 13 ++++++++++--- > tests/Makefile.tests | 12 +++++++----- > tests/run_tests.sh | 10 +++++++--- > 3 files changed, 24 insertions(+), 11 deletions(-) > > diff --git a/Makefile b/Makefile > index ee77115..9f1223f 100644 > --- a/Makefile > +++ b/Makefile > @@ -198,6 +198,13 @@ LIBFDT_lib = $(LIBFDT_dir)/$(LIBFDT_LIB) > LIBFDT_include = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_INCLUDES)) > LIBFDT_version = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_VERSION)) > > +ifeq ($(STATIC_BUILD),1) > + CFLAGS += -static > + LIBFDT_dep = $(LIBFDT_archive) > +else > + LIBFDT_dep = $(LIBFDT_lib) > +endif > + > include $(LIBFDT_dir)/Makefile.libfdt > > .PHONY: libfdt > @@ -261,11 +268,11 @@ convert-dtsv0: $(CONVERT_OBJS) > > fdtdump: $(FDTDUMP_OBJS) > > -fdtget: $(FDTGET_OBJS) $(LIBFDT_lib) > +fdtget: $(FDTGET_OBJS) $(LIBFDT_dep) > > -fdtput: $(FDTPUT_OBJS) $(LIBFDT_lib) > +fdtput: $(FDTPUT_OBJS) $(LIBFDT_dep) > > -fdtoverlay: $(FDTOVERLAY_OBJS) $(LIBFDT_lib) > +fdtoverlay: $(FDTOVERLAY_OBJS) $(LIBFDT_dep) > > dist: > git archive --format=tar --prefix=dtc-$(dtc_version)/ HEAD \ > diff --git a/tests/Makefile.tests b/tests/Makefile.tests > index 2f78952..2d36c5d 100644 > --- a/tests/Makefile.tests > +++ b/tests/Makefile.tests > @@ -37,8 +37,10 @@ LIBTREE_TESTS_L = truncated_property truncated_string truncated_memrsv \ > > LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%) > > -DL_LIB_TESTS_L = asm_tree_dump value-labels > -DL_LIB_TESTS = $(DL_LIB_TESTS_L:%=$(TESTS_PREFIX)%) > +ifneq ($(STATIC_BUILD),1) > + DL_LIB_TESTS_L = asm_tree_dump value-labels > + DL_LIB_TESTS = $(DL_LIB_TESTS_L:%=$(TESTS_PREFIX)%) > +endif > > TESTS = $(LIB_TESTS) $(LIBTREE_TESTS) $(DL_LIB_TESTS) > > @@ -60,17 +62,17 @@ TESTS_CLEANDIRS = $(TESTS_CLEANDIRS_L:%=$(TESTS_PREFIX)%) > .PHONY: tests > tests: $(TESTS) $(TESTS_TREES) > > -$(LIB_TESTS): %: $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_lib) > +$(LIB_TESTS): %: $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_dep) > > # Not necessary on all platforms; allow -ldl to be excluded instead of forcing > # other platforms to patch it out. > LIBDL = -ldl > -$(DL_LIB_TESTS): %: %.o $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_lib) > +$(DL_LIB_TESTS): %: %.o $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_dep) > @$(VECHO) LD [libdl] $@ > $(LINK.c) -o $@ $^ $(LIBDL) > > $(LIBTREE_TESTS): %: $(TESTS_PREFIX)testutils.o $(TESTS_PREFIX)trees.o \ > - util.o $(LIBFDT_lib) > + util.o $(LIBFDT_dep) > > $(TESTS_PREFIX)dumptrees: $(TESTS_PREFIX)trees.o > > diff --git a/tests/run_tests.sh b/tests/run_tests.sh > index 1b16eb8..0cabd13 100755 > --- a/tests/run_tests.sh > +++ b/tests/run_tests.sh > @@ -607,11 +607,15 @@ dtc_tests () { > run_dtc_test -I dts -O asm -o oasm_$tree.test.s "$SRCDIR/$tree" > asm_to_so_test oasm_$tree > run_dtc_test -I dts -O dtb -o $tree.test.dtb "$SRCDIR/$tree" > - run_test asm_tree_dump ./oasm_$tree.test.so oasm_$tree.test.dtb > - run_wrap_test cmp oasm_$tree.test.dtb $tree.test.dtb > + if [ -x ./asm_tree_dump ]; then > + run_test asm_tree_dump ./oasm_$tree.test.so oasm_$tree.test.dtb > + run_wrap_test cmp oasm_$tree.test.dtb $tree.test.dtb > + fi > done > > - run_test value-labels ./oasm_value-labels.dts.test.so > + if [ -x ./value-labels ]; then > + run_test value-labels ./oasm_value-labels.dts.test.so > + fi > > # Check -Odts mode preserve all dtb information > for tree in test_tree1.dtb dtc_tree1.test.dtb dtc_escapes.test.dtb \ -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature