Allow static building with make
Set STATIC_BUILD=1 environment variable to enable static building when using makefiles. Signed-off-by: Tero Tervala <tero.tervala@unikie.com> Message-Id: <20220629163531.932281-1-tero.tervala@unikie.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
fda71da26e
commit
fd9b8c96c7
3 changed files with 24 additions and 11 deletions
13
Makefile
13
Makefile
|
@ -198,6 +198,13 @@ LIBFDT_lib = $(LIBFDT_dir)/$(LIBFDT_LIB)
|
||||||
LIBFDT_include = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_INCLUDES))
|
LIBFDT_include = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_INCLUDES))
|
||||||
LIBFDT_version = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_VERSION))
|
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
|
include $(LIBFDT_dir)/Makefile.libfdt
|
||||||
|
|
||||||
.PHONY: libfdt
|
.PHONY: libfdt
|
||||||
|
@ -261,11 +268,11 @@ convert-dtsv0: $(CONVERT_OBJS)
|
||||||
|
|
||||||
fdtdump: $(FDTDUMP_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:
|
dist:
|
||||||
git archive --format=tar --prefix=dtc-$(dtc_version)/ HEAD \
|
git archive --format=tar --prefix=dtc-$(dtc_version)/ HEAD \
|
||||||
|
|
|
@ -37,8 +37,10 @@ LIBTREE_TESTS_L = truncated_property truncated_string truncated_memrsv \
|
||||||
|
|
||||||
LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%)
|
LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%)
|
||||||
|
|
||||||
DL_LIB_TESTS_L = asm_tree_dump value-labels
|
ifneq ($(STATIC_BUILD),1)
|
||||||
DL_LIB_TESTS = $(DL_LIB_TESTS_L:%=$(TESTS_PREFIX)%)
|
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)
|
TESTS = $(LIB_TESTS) $(LIBTREE_TESTS) $(DL_LIB_TESTS)
|
||||||
|
|
||||||
|
@ -60,17 +62,17 @@ TESTS_CLEANDIRS = $(TESTS_CLEANDIRS_L:%=$(TESTS_PREFIX)%)
|
||||||
.PHONY: tests
|
.PHONY: tests
|
||||||
tests: $(TESTS) $(TESTS_TREES)
|
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
|
# Not necessary on all platforms; allow -ldl to be excluded instead of forcing
|
||||||
# other platforms to patch it out.
|
# other platforms to patch it out.
|
||||||
LIBDL = -ldl
|
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] $@
|
@$(VECHO) LD [libdl] $@
|
||||||
$(LINK.c) -o $@ $^ $(LIBDL)
|
$(LINK.c) -o $@ $^ $(LIBDL)
|
||||||
|
|
||||||
$(LIBTREE_TESTS): %: $(TESTS_PREFIX)testutils.o $(TESTS_PREFIX)trees.o \
|
$(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
|
$(TESTS_PREFIX)dumptrees: $(TESTS_PREFIX)trees.o
|
||||||
|
|
||||||
|
|
|
@ -607,11 +607,15 @@ dtc_tests () {
|
||||||
run_dtc_test -I dts -O asm -o oasm_$tree.test.s "$SRCDIR/$tree"
|
run_dtc_test -I dts -O asm -o oasm_$tree.test.s "$SRCDIR/$tree"
|
||||||
asm_to_so_test oasm_$tree
|
asm_to_so_test oasm_$tree
|
||||||
run_dtc_test -I dts -O dtb -o $tree.test.dtb "$SRCDIR/$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
|
if [ -x ./asm_tree_dump ]; then
|
||||||
run_wrap_test cmp oasm_$tree.test.dtb $tree.test.dtb
|
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
|
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
|
# Check -Odts mode preserve all dtb information
|
||||||
for tree in test_tree1.dtb dtc_tree1.test.dtb dtc_escapes.test.dtb \
|
for tree in test_tree1.dtb dtc_tree1.test.dtb dtc_escapes.test.dtb \
|
||||||
|
|
Loading…
Reference in a new issue