head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.3
	netbsd-11-0-RC3:1.1.1.3
	netbsd-11-0-RC2:1.1.1.3
	netbsd-11-0-RC1:1.1.1.3
	perseant-exfatfs-base-20250801:1.1.1.3
	netbsd-11:1.1.1.3.0.12
	netbsd-11-base:1.1.1.3
	netbsd-10-1-RELEASE:1.1.1.3
	perseant-exfatfs-base-20240630:1.1.1.3
	perseant-exfatfs:1.1.1.3.0.10
	perseant-exfatfs-base:1.1.1.3
	netbsd-8-3-RELEASE:1.1.1.1.8.1
	netbsd-9-4-RELEASE:1.1.1.2
	netbsd-10-0-RELEASE:1.1.1.3
	netbsd-10-0-RC6:1.1.1.3
	netbsd-10-0-RC5:1.1.1.3
	netbsd-10-0-RC4:1.1.1.3
	netbsd-10-0-RC3:1.1.1.3
	netbsd-10-0-RC2:1.1.1.3
	netbsd-10-0-RC1:1.1.1.3
	netbsd-10:1.1.1.3.0.8
	netbsd-10-base:1.1.1.3
	netbsd-9-3-RELEASE:1.1.1.2
	cjep_sun2x-base1:1.1.1.3
	cjep_sun2x:1.1.1.3.0.6
	cjep_sun2x-base:1.1.1.3
	cjep_staticlib_x-base1:1.1.1.3
	netbsd-9-2-RELEASE:1.1.1.2
	cjep_staticlib_x:1.1.1.3.0.4
	cjep_staticlib_x-base:1.1.1.3
	netbsd-9-1-RELEASE:1.1.1.2
	phil-wifi-20200421:1.1.1.3
	phil-wifi-20200411:1.1.1.3
	is-mlppp:1.1.1.3.0.2
	is-mlppp-base:1.1.1.3
	phil-wifi-20200406:1.1.1.3
	netbsd-8-2-RELEASE:1.1.1.1.8.1
	netbsd-9-0-RELEASE:1.1.1.2
	netbsd-9-0-RC2:1.1.1.2
	dtc-1-5-1:1.1.1.3
	netbsd-9-0-RC1:1.1.1.2
	phil-wifi-20191119:1.1.1.2
	netbsd-9:1.1.1.2.0.8
	netbsd-9-base:1.1.1.2
	phil-wifi-20190609:1.1.1.2
	netbsd-8-1-RELEASE:1.1.1.1.8.1
	netbsd-8-1-RC1:1.1.1.1.8.1
	pgoyette-compat-merge-20190127:1.1.1.2
	pgoyette-compat-20190127:1.1.1.2
	pgoyette-compat-20190118:1.1.1.2
	pgoyette-compat-1226:1.1.1.2
	pgoyette-compat-1126:1.1.1.2
	pgoyette-compat-1020:1.1.1.2
	pgoyette-compat-0930:1.1.1.2
	pgoyette-compat-0906:1.1.1.2
	pgoyette-compat-0728:1.1.1.2
	netbsd-8-0-RELEASE:1.1.1.1.8.1
	phil-wifi:1.1.1.2.0.6
	phil-wifi-base:1.1.1.2
	pgoyette-compat-0625:1.1.1.2
	netbsd-8-0-RC2:1.1.1.1.8.1
	pgoyette-compat-0521:1.1.1.2
	pgoyette-compat-0502:1.1.1.2
	pgoyette-compat-0422:1.1.1.2
	netbsd-8-0-RC1:1.1.1.1.8.1
	pgoyette-compat-0415:1.1.1.2
	pgoyette-compat-0407:1.1.1.2
	pgoyette-compat-0330:1.1.1.2
	pgoyette-compat-0322:1.1.1.2
	pgoyette-compat-0315:1.1.1.2
	pgoyette-compat:1.1.1.2.0.4
	pgoyette-compat-base:1.1.1.2
	matt-nb8-mediatek:1.1.1.1.8.1.0.2
	matt-nb8-mediatek-base:1.1.1.1.8.1
	perseant-stdc-iso10646:1.1.1.2.0.2
	perseant-stdc-iso10646-base:1.1.1.2
	dtc-1-4-4:1.1.1.2
	netbsd-8:1.1.1.1.0.8
	netbsd-8-base:1.1.1.1
	prg-localcount2-base3:1.1.1.1
	prg-localcount2-base2:1.1.1.1
	prg-localcount2-base1:1.1.1.1
	prg-localcount2:1.1.1.1.0.6
	prg-localcount2-base:1.1.1.1
	pgoyette-localcount-20170426:1.1.1.1
	bouyer-socketcan-base1:1.1.1.1
	pgoyette-localcount-20170320:1.1.1.1
	bouyer-socketcan:1.1.1.1.0.4
	bouyer-socketcan-base:1.1.1.1
	pgoyette-localcount-20170107:1.1.1.1
	pgoyette-localcount-20161104:1.1.1.1
	localcount-20160914:1.1.1.1
	pgoyette-localcount-20160806:1.1.1.1
	pgoyette-localcount-20160726:1.1.1.1
	pgoyette-localcount:1.1.1.1.0.2
	pgoyette-localcount-base:1.1.1.1
	dtc-1-4-1:1.1.1.1
	DTC:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2015.12.04.12.30.05;	author macallan;	state Exp;
branches
	1.1.1.1;
next	;
commitid	OsId0MgNwq680DLy;

1.1.1.1
date	2015.12.04.12.30.05;	author macallan;	state Exp;
branches
	1.1.1.1.8.1;
next	1.1.1.2;
commitid	OsId0MgNwq680DLy;

1.1.1.2
date	2017.06.08.15.59.15;	author skrll;	state Exp;
branches
	1.1.1.2.6.1;
next	1.1.1.3;
commitid	mtHBGj7mDqt5qAUz;

1.1.1.3
date	2019.12.22.12.34.02;	author skrll;	state Exp;
branches;
next	;
commitid	uQy8eXAZh9UguHPB;

1.1.1.1.8.1
date	2017.07.18.17.17.52;	author snj;	state Exp;
branches;
next	;
commitid	ODe5xU9ximHZyJZz;

1.1.1.2.6.1
date	2020.04.08.14.04.21;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;


desc
@@


1.1
log
@Initial revision
@
text
@#
# Device Tree Compiler
#

#
# Version information will be constructed in this order:
# EXTRAVERSION might be "-rc", for example.
# LOCAL_VERSION is likely from command line.
# CONFIG_LOCALVERSION from some future config system.
#
VERSION = 1
PATCHLEVEL = 4
SUBLEVEL = 1
EXTRAVERSION =
LOCAL_VERSION =
CONFIG_LOCALVERSION =

CPPFLAGS = -I libfdt -I .
WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)

BISON = bison
LEX = flex

INSTALL = /usr/bin/install
DESTDIR =
PREFIX = $(HOME)
BINDIR = $(PREFIX)/bin
LIBDIR = $(PREFIX)/lib
INCLUDEDIR = $(PREFIX)/include

HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
	    sed -e 's/\(cygwin\).*/cygwin/')

ifeq ($(HOSTOS),darwin)
SHAREDLIB_EXT=dylib
SHAREDLIB_LINK_OPTIONS=-dynamiclib -Wl,-install_name -Wl,
else
SHAREDLIB_EXT=so
SHAREDLIB_LINK_OPTIONS=-shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
endif

#
# Overall rules
#
ifdef V
VECHO = :
else
VECHO = echo "	"
ARFLAGS = rc
.SILENT:
endif

NODEPTARGETS = clean
ifeq ($(MAKECMDGOALS),)
DEPTARGETS = all
else
DEPTARGETS = $(filter-out $(NODEPTARGETS),$(MAKECMDGOALS))
endif

#
# Rules for versioning
#

DTC_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
VERSION_FILE = version_gen.h

CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
	  else if [ -x /bin/bash ]; then echo /bin/bash; \
	  else echo sh; fi ; fi)

nullstring :=
space	:= $(nullstring) # end of line

localver_config = $(subst $(space),, $(string) \
			      $(patsubst "%",%,$(CONFIG_LOCALVERSION)))

localver_cmd = $(subst $(space),, $(string) \
			      $(patsubst "%",%,$(LOCALVERSION)))

localver_scm = $(shell $(CONFIG_SHELL) ./scripts/setlocalversion)
localver_full  = $(localver_config)$(localver_cmd)$(localver_scm)

dtc_version = $(DTC_VERSION)$(localver_full)

# Contents of the generated version file.
define filechk_version
	(echo "#define DTC_VERSION \"DTC $(dtc_version)\""; )
endef

define filechk
	set -e;					\
	echo '	CHK $@@';			\
	mkdir -p $(dir $@@);			\
	$(filechk_$(1)) < $< > $@@.tmp;		\
	if [ -r $@@ ] && cmp -s $@@ $@@.tmp; then	\
		rm -f $@@.tmp;			\
	else					\
		echo '	UPD $@@';		\
		mv -f $@@.tmp $@@;		\
	fi;
endef


include Makefile.convert-dtsv0
include Makefile.dtc
include Makefile.utils

BIN += convert-dtsv0
BIN += dtc
BIN += fdtdump
BIN += fdtget
BIN += fdtput

SCRIPTS = dtdiff

all: $(BIN) libfdt


ifneq ($(DEPTARGETS),)
-include $(DTC_OBJS:%.o=%.d)
-include $(CONVERT_OBJS:%.o=%.d)
-include $(FDTDUMP_OBJS:%.o=%.d)
-include $(FDTGET_OBJS:%.o=%.d)
-include $(FDTPUT_OBJS:%.o=%.d)
endif



#
# Rules for libfdt
#
LIBFDT_objdir = libfdt
LIBFDT_srcdir = libfdt
LIBFDT_archive = $(LIBFDT_objdir)/libfdt.a
LIBFDT_lib = $(LIBFDT_objdir)/libfdt-$(DTC_VERSION).$(SHAREDLIB_EXT)
LIBFDT_include = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_INCLUDES))
LIBFDT_version = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_VERSION))

include $(LIBFDT_srcdir)/Makefile.libfdt

.PHONY: libfdt
libfdt: $(LIBFDT_archive) $(LIBFDT_lib)

$(LIBFDT_archive): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
$(LIBFDT_lib): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))

libfdt_clean:
	@@$(VECHO) CLEAN "(libfdt)"
	rm -f $(addprefix $(LIBFDT_objdir)/,$(STD_CLEANFILES))
	rm -f $(LIBFDT_objdir)/*.so

ifneq ($(DEPTARGETS),)
-include $(LIBFDT_OBJS:%.o=$(LIBFDT_objdir)/%.d)
endif

# This stops make from generating the lex and bison output during
# auto-dependency computation, but throwing them away as an
# intermediate target and building them again "for real"
.SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)

install-bin: all $(SCRIPTS)
	@@$(VECHO) INSTALL-BIN
	$(INSTALL) -d $(DESTDIR)$(BINDIR)
	$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)

install-lib: all
	@@$(VECHO) INSTALL-LIB
	$(INSTALL) -d $(DESTDIR)$(LIBDIR)
	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
	ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
	ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
	$(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)

install-includes:
	@@$(VECHO) INSTALL-INC
	$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
	$(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)

install: install-bin install-lib install-includes

$(VERSION_FILE): Makefile FORCE
	$(call filechk,version)


dtc: $(DTC_OBJS)

convert-dtsv0: $(CONVERT_OBJS)
	@@$(VECHO) LD $@@
	$(LINK.c) -o $@@ $^

fdtdump:	$(FDTDUMP_OBJS)

fdtget:	$(FDTGET_OBJS) $(LIBFDT_archive)

fdtput:	$(FDTPUT_OBJS) $(LIBFDT_archive)

dist:
	git archive --format=tar --prefix=dtc-v$(dtc_version)/ HEAD \
		> ../dtc-v$(dtc_version).tar
	cat ../dtc-v$(dtc_version).tar | \
		gzip -9 > ../dtc-v$(dtc_version).tgz

#
# Testsuite rules
#
TESTS_PREFIX=tests/

TESTS_BIN += dtc
TESTS_BIN += convert-dtsv0
TESTS_BIN += fdtput
TESTS_BIN += fdtget
TESTS_BIN += fdtdump

include tests/Makefile.tests

#
# Clean rules
#
STD_CLEANFILES = *~ *.o *.$(SHAREDLIB_EXT) *.d *.a *.i *.s core a.out vgcore.* \
	*.tab.[ch] *.lex.c *.output

clean: libfdt_clean tests_clean
	@@$(VECHO) CLEAN
	rm -f $(STD_CLEANFILES)
	rm -f $(VERSION_FILE)
	rm -f $(BIN)
	rm -f dtc-*.tar dtc-*.tar.sign dtc-*.tar.asc

#
# Generic compile rules
#
%: %.o
	@@$(VECHO) LD $@@
	$(LINK.c) -o $@@ $^

%.o: %.c
	@@$(VECHO) CC $@@
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@@ -c $<

%.o: %.S
	@@$(VECHO) AS $@@
	$(CC) $(CPPFLAGS) $(AFLAGS) -D__ASSEMBLY__ -o $@@ -c $<

%.d: %.c
	@@$(VECHO) DEP $<
	$(CC) $(CPPFLAGS) -MM -MG -MT "$*.o $@@" $< > $@@

%.d: %.S
	@@$(VECHO) DEP $<
	$(CC) $(CPPFLAGS) -MM -MG -MT "$*.o $@@" $< > $@@

%.i:	%.c
	@@$(VECHO) CPP $@@
	$(CC) $(CPPFLAGS) -E $< > $@@

%.s:	%.c
	@@$(VECHO) CC -S $@@
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@@ -S $<

%.a:
	@@$(VECHO) AR $@@
	$(AR) $(ARFLAGS) $@@ $^

$(LIBFDT_lib):
	@@$(VECHO) LD $@@
	$(CC) $(LDFLAGS) -fPIC $(SHAREDLIB_LINK_OPTIONS)$(LIBFDT_soname) -o $(LIBFDT_lib) $^

%.lex.c: %.l
	@@$(VECHO) LEX $@@
	$(LEX) -o$@@ $<

%.tab.c %.tab.h %.output: %.y
	@@$(VECHO) BISON $@@
	$(BISON) -d $<

FORCE:
@


1.1.1.1
log
@initial import of Device Tree Compiler and related tools
@
text
@@


1.1.1.1.8.1
log
@Pull up following revision(s) (requested by jmcneill in ticket #114):
	external/gpl2/dtc/Makefile: up to 1.1
	external/gpl2/dtc/Makefile.inc: up to 1.2
	external/gpl2/dtc/dist/.gitignore delete
	external/gpl2/dtc/dist/.travis.yml delete
	external/gpl2/dtc/dist/Documentation/dt-object-internal.txt: up to 1.1.1.1
	external/gpl2/dtc/dist/Documentation/manual.txt: up to 1.1.1.2
	external/gpl2/dtc/dist/Makefile: up to 1.1.1.2
	external/gpl2/dtc/dist/README: up to 1.1.1.2
	external/gpl2/dtc/dist/checks.c: up to 1.1.1.2
	external/gpl2/dtc/dist/convert-dtsv0-lexer.l: up to 1.1.1.2
	external/gpl2/dtc/dist/data.c: up to 1.3
	external/gpl2/dtc/dist/dtc-lexer.l: up to 1.3
	external/gpl2/dtc/dist/dtc-parser.y: up to 1.3
	external/gpl2/dtc/dist/dtc.c: up to 1.1.1.2
	external/gpl2/dtc/dist/dtc.h: up to 1.3
	external/gpl2/dtc/dist/fdtdump.c: up to 1.3
	external/gpl2/dtc/dist/fdtget.c: up to 1.1.1.2
	external/gpl2/dtc/dist/fdtput.c: up to 1.3
	external/gpl2/dtc/dist/flattree.c: up to 1.4
	external/gpl2/dtc/dist/fstree.c: up to 1.1.1.2
	external/gpl2/dtc/dist/libfdt/Makefile.libfdt delete
	external/gpl2/dtc/dist/libfdt/TODO delete
	external/gpl2/dtc/dist/libfdt/fdt.c delete
	external/gpl2/dtc/dist/libfdt/fdt.h delete
	external/gpl2/dtc/dist/libfdt/fdt_addresses.c delete
	external/gpl2/dtc/dist/libfdt/fdt_empty_tree.c delete
	external/gpl2/dtc/dist/libfdt/fdt_ro.c delete
	external/gpl2/dtc/dist/libfdt/fdt_rw.c delete
	external/gpl2/dtc/dist/libfdt/fdt_strerror.c delete
	external/gpl2/dtc/dist/libfdt/fdt_sw.c delete
	external/gpl2/dtc/dist/libfdt/fdt_wip.c delete
	external/gpl2/dtc/dist/libfdt/libfdt.h delete
	external/gpl2/dtc/dist/libfdt/libfdt_env.h delete
	external/gpl2/dtc/dist/libfdt/libfdt_internal.h delete
	external/gpl2/dtc/dist/libfdt/version.lds delete
	external/gpl2/dtc/dist/livetree.c: up to 1.1.1.2
	external/gpl2/dtc/dist/srcpos.c: up to 1.3
	external/gpl2/dtc/dist/srcpos.h: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/.gitignore: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/Makefile.tests: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/add_subnode_with_nops.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/addr_size_cells.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/appendprop1.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/appendprop2.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/asm_tree_dump.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/bad-octal-literal.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/boot-cpuid.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/char_literal.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/check_path.c: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/del_node.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/del_property.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/division-by-zero.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/dtb_reverse.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/dtbs_equal_ordered.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/dtbs_equal_unordered.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/dumptrees.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/extra-terminating-null.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/find_property.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/get_alias.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/get_mem_rsv.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/get_name.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/get_path.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/get_phandle.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/getprop.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/incbin.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/integer-expressions.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/line_directives.dts: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/mangle-layout.c: up to 1.3
	external/gpl2/dtc/dist/tests/move_and_save.c: up to 1.3
	external/gpl2/dtc/dist/tests/node_check_compatible.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/node_offset_by_compatible.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/node_offset_by_phandle.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/node_offset_by_prop_value.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/nop_node.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/nop_property.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/nopulate.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/notfound.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/nul-in-escape.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/nul-in-line-info1.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/nul-in-line-info2.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/open_pack.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/overlay.c: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup.c: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_bad_index.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_base.dtsi: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_empty_index.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_index_trailing.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_empty_prop.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_only_sep.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_bad_fixup_path_prop.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_base.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_base_manual_symbols.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_overlay.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_overlay_manual_fixups.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_overlay_no_fixups.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/overlay_overlay_simple.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/parent_offset.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/path-references.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/path_offset.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/path_offset_aliases.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/phandle_format.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/property_iterate.c: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/property_iterate.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/propname_escapes.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/references.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/reg-without-unit-addr.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/root_node.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/run_tests.sh: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/rw_tree1.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/set_name.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/setprop.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/setprop_inplace.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/sized_cells.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/string_escapes.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/stringlist.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/subnode_iterate.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/subnode_offset.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/supernode_atdepth_offset.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/sw_tree1.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/test_label_ref.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/test_tree1.dts: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/test_tree1_body.dtsi delete
	external/gpl2/dtc/dist/tests/test_tree1_delete.dts: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/testdata.h: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/tests.h: up to 1.3
	external/gpl2/dtc/dist/tests/testutils.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/trees.S: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/truncated_property.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/unit-addr-without-reg.dts: up to 1.1.1.1
	external/gpl2/dtc/dist/tests/utilfdt_test.c: up to 1.1.1.2
	external/gpl2/dtc/dist/tests/value-labels.c: up to 1.1.1.2
	external/gpl2/dtc/dist/treesource.c: up to 1.1.1.2
	external/gpl2/dtc/dist/util.c: up to 1.1.1.2
	external/gpl2/dtc/dist/util.h: up to 1.3
	external/gpl2/dtc/dtc2netbsd: up to 1.2
	external/gpl2/dtc/lib/Makefile: up to 1.1
	external/gpl2/dtc/lib/libfdt/Makefile: up to 1.3
	external/gpl2/dtc/usr.bin/Makefile: up to 1.1
	external/gpl2/dtc/usr.bin/Makefile.inc: up to 1.1
	external/gpl2/dtc/usr.bin/dtc/Makefile: up to 1.2
	external/gpl2/dtc/usr.bin/dtc/version_gen.h: up to 1.2
Import DTC 1.4.4.
@
text
@d13 1
a13 1
SUBLEVEL = 4
d200 4
a203 26
	git archive --format=tar --prefix=dtc-$(dtc_version)/ HEAD \
		> ../dtc-$(dtc_version).tar
	cat ../dtc-$(dtc_version).tar | \
		gzip -9 > ../dtc-$(dtc_version).tar.gz

#
# Release signing and uploading
# This is for maintainer convenience, don't try this at home.
#
ifeq ($(MAINTAINER),y)
GPG = gpg2
KUP = kup
KUPDIR = /pub/software/utils/dtc

kup: dist
	$(GPG) --detach-sign --armor -o ../dtc-$(dtc_version).tar.sign \
		../dtc-$(dtc_version).tar
	$(KUP) put ../dtc-$(dtc_version).tar.gz ../dtc-$(dtc_version).tar.sign \
		$(KUPDIR)/dtc-$(dtc_version).tar.gz
endif

tags: FORCE
	rm -f tags
	find . \( -name tests -type d -prune \) -o \
	       \( ! -name '*.tab.[ch]' ! -name '*.lex.c' \
	       -name '*.[chly]' -type f -print \) | xargs ctags -a
@


1.1.1.2
log
@Import of DTC from DTC version 1.4.4
@
text
@d13 1
a13 1
SUBLEVEL = 4
d200 4
a203 26
	git archive --format=tar --prefix=dtc-$(dtc_version)/ HEAD \
		> ../dtc-$(dtc_version).tar
	cat ../dtc-$(dtc_version).tar | \
		gzip -9 > ../dtc-$(dtc_version).tar.gz

#
# Release signing and uploading
# This is for maintainer convenience, don't try this at home.
#
ifeq ($(MAINTAINER),y)
GPG = gpg2
KUP = kup
KUPDIR = /pub/software/utils/dtc

kup: dist
	$(GPG) --detach-sign --armor -o ../dtc-$(dtc_version).tar.sign \
		../dtc-$(dtc_version).tar
	$(KUP) put ../dtc-$(dtc_version).tar.gz ../dtc-$(dtc_version).tar.sign \
		$(KUPDIR)/dtc-$(dtc_version).tar.gz
endif

tags: FORCE
	rm -f tags
	find . \( -name tests -type d -prune \) -o \
	       \( ! -name '*.tab.[ch]' ! -name '*.lex.c' \
	       -name '*.[chly]' -type f -print \) | xargs ctags -a
@


1.1.1.2.6.1
log
@Merge changes from current as of 20200406
@
text
@a0 1
# SPDX-License-Identifier: GPL-2.0-or-later
d12 2
a13 2
PATCHLEVEL = 5
SUBLEVEL = 0
d21 1
a21 1
CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
a24 3
SWIG = swig
PKG_CONFIG ?= pkg-config
PYTHON ?= python3
a26 4
INSTALL_PROGRAM = $(INSTALL)
INSTALL_LIB = $(INSTALL)
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_SCRIPT = $(INSTALL)
d34 1
a34 15
	    sed -e 's/\(cygwin\|msys\).*/\1/')

NO_VALGRIND := $(shell $(PKG_CONFIG) --exists valgrind; echo $$?)
ifeq ($(NO_VALGRIND),1)
	CFLAGS += -DNO_VALGRIND
else
	CFLAGS += $(shell $(PKG_CONFIG) --cflags valgrind)
endif

NO_YAML := $(shell $(PKG_CONFIG) --exists yaml-0.1; echo $$?)
ifeq ($(NO_YAML),1)
	CFLAGS += -DNO_YAML
else
	LDLIBS_dtc += $(shell $(PKG_CONFIG) --libs yaml-0.1)
endif
d37 2
a38 7
SHAREDLIB_EXT     = dylib
SHAREDLIB_CFLAGS  = -fPIC
SHAREDLIB_LDFLAGS = -fPIC -dynamiclib -Wl,-install_name -Wl,
else ifeq ($(HOSTOS),$(filter $(HOSTOS),msys cygwin))
SHAREDLIB_EXT     = so
SHAREDLIB_CFLAGS  =
SHAREDLIB_LDFLAGS = -shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
d40 2
a41 3
SHAREDLIB_EXT     = so
SHAREDLIB_CFLAGS  = -fPIC
SHAREDLIB_LDFLAGS = -fPIC -shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
a114 1
BIN += fdtoverlay
a119 22
# We need both Python and swig to build/install pylibfdt.
# This builds the given make ${target} if those deps are found.
check_python_deps = \
	if $(PKG_CONFIG) --cflags $(PYTHON) >/dev/null 2>&1; then \
		if which swig >/dev/null 2>&1; then \
			can_build=yes; \
		fi; \
	fi; \
	if [ "$${can_build}" = "yes" ]; then \
		$(MAKE) $${target}; \
	else \
		echo "\#\# Skipping pylibfdt (install python dev and swig to build)"; \
	fi ;

.PHONY: maybe_pylibfdt
maybe_pylibfdt: FORCE
	target=pylibfdt; $(check_python_deps)

ifeq ($(NO_PYTHON),)
all: maybe_pylibfdt
endif

a126 1
-include $(FDTOVERLAY_OBJS:%.o=%.d)
d134 6
a139 5
LIBFDT_dir = libfdt
LIBFDT_archive = $(LIBFDT_dir)/libfdt.a
LIBFDT_lib = $(LIBFDT_dir)/$(LIBFDT_LIB)
LIBFDT_include = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_INCLUDES))
LIBFDT_version = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_VERSION))
d141 1
a141 1
include $(LIBFDT_dir)/Makefile.libfdt
d146 2
a147 1
$(LIBFDT_archive): $(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS))
d149 4
a152 5
$(LIBFDT_lib): $(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS)) $(LIBFDT_version)
	@@$(VECHO) LD $@@
	$(CC) $(LDFLAGS) $(SHAREDLIB_LDFLAGS)$(LIBFDT_soname) -o $(LIBFDT_lib) \
		$(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS))
	ln -sf $(LIBFDT_LIB) $(LIBFDT_dir)/$(LIBFDT_soname)
d155 1
a155 1
-include $(LIBFDT_OBJS:%.o=$(LIBFDT_dir)/%.d)
d166 1
a166 2
	$(INSTALL_PROGRAM) $(BIN) $(DESTDIR)$(BINDIR)
	$(INSTALL_SCRIPT) $(SCRIPTS) $(DESTDIR)$(BINDIR)
d171 1
a171 1
	$(INSTALL_LIB) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
d174 1
a174 1
	$(INSTALL_DATA) $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
d179 1
a179 1
	$(INSTALL_DATA) $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
a182 8
.PHONY: maybe_install_pylibfdt
maybe_install_pylibfdt: FORCE
	target=install_pylibfdt; $(check_python_deps)

ifeq ($(NO_PYTHON),)
install: maybe_install_pylibfdt
endif

d195 1
a195 3
fdtget:	$(FDTGET_OBJS) $(LIBFDT_lib)

fdtput:	$(FDTPUT_OBJS) $(LIBFDT_lib)
d197 1
a197 1
fdtoverlay: $(FDTOVERLAY_OBJS) $(LIBFDT_lib)
a204 11

#
# Rules for pylibfdt
#
PYLIBFDT_dir = pylibfdt

include $(PYLIBFDT_dir)/Makefile.pylibfdt

.PHONY: pylibfdt
pylibfdt: $(PYLIBFDT_dir)/_libfdt.so

a236 4
TESTS_BIN += fdtoverlay
ifeq ($(NO_PYTHON),)
TESTS_PYLIBFDT += maybe_pylibfdt
endif
d246 1
a246 1
clean: libfdt_clean pylibfdt_clean tests_clean
d258 1
a258 1
	$(LINK.c) -o $@@ $^ $(LDLIBS_$*)
d288 4
@


1.1.1.3
log
@Import dtc 1.5.1
@
text
@a0 1
# SPDX-License-Identifier: GPL-2.0-or-later
d12 2
a13 2
PATCHLEVEL = 5
SUBLEVEL = 0
d21 1
a21 1
CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
a24 3
SWIG = swig
PKG_CONFIG ?= pkg-config
PYTHON ?= python3
a26 4
INSTALL_PROGRAM = $(INSTALL)
INSTALL_LIB = $(INSTALL)
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_SCRIPT = $(INSTALL)
d34 1
a34 15
	    sed -e 's/\(cygwin\|msys\).*/\1/')

NO_VALGRIND := $(shell $(PKG_CONFIG) --exists valgrind; echo $$?)
ifeq ($(NO_VALGRIND),1)
	CFLAGS += -DNO_VALGRIND
else
	CFLAGS += $(shell $(PKG_CONFIG) --cflags valgrind)
endif

NO_YAML := $(shell $(PKG_CONFIG) --exists yaml-0.1; echo $$?)
ifeq ($(NO_YAML),1)
	CFLAGS += -DNO_YAML
else
	LDLIBS_dtc += $(shell $(PKG_CONFIG) --libs yaml-0.1)
endif
d37 2
a38 7
SHAREDLIB_EXT     = dylib
SHAREDLIB_CFLAGS  = -fPIC
SHAREDLIB_LDFLAGS = -fPIC -dynamiclib -Wl,-install_name -Wl,
else ifeq ($(HOSTOS),$(filter $(HOSTOS),msys cygwin))
SHAREDLIB_EXT     = so
SHAREDLIB_CFLAGS  =
SHAREDLIB_LDFLAGS = -shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
d40 2
a41 3
SHAREDLIB_EXT     = so
SHAREDLIB_CFLAGS  = -fPIC
SHAREDLIB_LDFLAGS = -fPIC -shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
a114 1
BIN += fdtoverlay
a119 22
# We need both Python and swig to build/install pylibfdt.
# This builds the given make ${target} if those deps are found.
check_python_deps = \
	if $(PKG_CONFIG) --cflags $(PYTHON) >/dev/null 2>&1; then \
		if which swig >/dev/null 2>&1; then \
			can_build=yes; \
		fi; \
	fi; \
	if [ "$${can_build}" = "yes" ]; then \
		$(MAKE) $${target}; \
	else \
		echo "\#\# Skipping pylibfdt (install python dev and swig to build)"; \
	fi ;

.PHONY: maybe_pylibfdt
maybe_pylibfdt: FORCE
	target=pylibfdt; $(check_python_deps)

ifeq ($(NO_PYTHON),)
all: maybe_pylibfdt
endif

a126 1
-include $(FDTOVERLAY_OBJS:%.o=%.d)
d134 6
a139 5
LIBFDT_dir = libfdt
LIBFDT_archive = $(LIBFDT_dir)/libfdt.a
LIBFDT_lib = $(LIBFDT_dir)/$(LIBFDT_LIB)
LIBFDT_include = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_INCLUDES))
LIBFDT_version = $(addprefix $(LIBFDT_dir)/,$(LIBFDT_VERSION))
d141 1
a141 1
include $(LIBFDT_dir)/Makefile.libfdt
d146 2
a147 1
$(LIBFDT_archive): $(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS))
d149 4
a152 5
$(LIBFDT_lib): $(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS)) $(LIBFDT_version)
	@@$(VECHO) LD $@@
	$(CC) $(LDFLAGS) $(SHAREDLIB_LDFLAGS)$(LIBFDT_soname) -o $(LIBFDT_lib) \
		$(addprefix $(LIBFDT_dir)/,$(LIBFDT_OBJS))
	ln -sf $(LIBFDT_LIB) $(LIBFDT_dir)/$(LIBFDT_soname)
d155 1
a155 1
-include $(LIBFDT_OBJS:%.o=$(LIBFDT_dir)/%.d)
d166 1
a166 2
	$(INSTALL_PROGRAM) $(BIN) $(DESTDIR)$(BINDIR)
	$(INSTALL_SCRIPT) $(SCRIPTS) $(DESTDIR)$(BINDIR)
d171 1
a171 1
	$(INSTALL_LIB) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
d174 1
a174 1
	$(INSTALL_DATA) $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
d179 1
a179 1
	$(INSTALL_DATA) $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
a182 8
.PHONY: maybe_install_pylibfdt
maybe_install_pylibfdt: FORCE
	target=install_pylibfdt; $(check_python_deps)

ifeq ($(NO_PYTHON),)
install: maybe_install_pylibfdt
endif

d195 1
a195 3
fdtget:	$(FDTGET_OBJS) $(LIBFDT_lib)

fdtput:	$(FDTPUT_OBJS) $(LIBFDT_lib)
d197 1
a197 1
fdtoverlay: $(FDTOVERLAY_OBJS) $(LIBFDT_lib)
a204 11

#
# Rules for pylibfdt
#
PYLIBFDT_dir = pylibfdt

include $(PYLIBFDT_dir)/Makefile.pylibfdt

.PHONY: pylibfdt
pylibfdt: $(PYLIBFDT_dir)/_libfdt.so

a236 4
TESTS_BIN += fdtoverlay
ifeq ($(NO_PYTHON),)
TESTS_PYLIBFDT += maybe_pylibfdt
endif
d246 1
a246 1
clean: libfdt_clean pylibfdt_clean tests_clean
d258 1
a258 1
	$(LINK.c) -o $@@ $^ $(LDLIBS_$*)
d288 4
@


