From 4f61ae162780585aacf90ff80e4abf3ab05201ca Mon Sep 17 00:00:00 2001 From: David Gibson Date: Tue, 24 Jul 2007 15:14:52 +1000 Subject: [PATCH] dtc: Improve the make install target This patch makes various improvements to dtc's make install target: - libfdt is also installed. Specifically, libfdt.a and the two export relevant header files, fdt.h and libfdt.h are installed. - ftdump is no longer installed. It was only ever a development debugging tool and may well go away at some point. - In keeping with normal conventions, there is now a PREFIX variable, allowing control of where things are installed (in /usr, /usr/local, /opt, etc.). - By default, installed into the user's home directory, instead of /usr. This is friendlier for self-installers, package builders can easily override PREFIX to restore the old behaviour. Signed-off-by: David Gibson --- Makefile | 13 ++++++++++--- libfdt/Makefile.libfdt | 4 +++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 04574c9..24ce91a 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,10 @@ BISON = bison INSTALL = /usr/bin/install DESTDIR = -BINDIR = /usr/bin +PREFIX = $(HOME) +BINDIR = $(PREFIX)/bin +LIBDIR = $(PREFIX)/lib +INCLUDEDIR = $(PREFIX)/include # # Overall rules @@ -140,10 +143,14 @@ clean: libfdt_clean tests_clean rm -f *.tab.[ch] lex.yy.c *.output vgcore.* rm -f $(BIN) -install: dtc ftdump +install: all + @$(VECHO) INSTALL $(INSTALL) -d $(DESTDIR)$(BINDIR) $(INSTALL) -m 755 dtc $(DESTDIR)$(BINDIR) - $(INSTALL) -m 755 ftdump $(DESTDIR)$(BINDIR) + $(INSTALL) -d $(DESTDIR)$(LIBDIR) + $(INSTALL) -m 644 $(LIBFDT_LIB) $(DESTDIR)$(LIBDIR) + $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) + $(INSTALL) -m 644 $(LIBFDT_INCLUDES) $(DESTDIR)$(INCLUDEDIR) define filechk set -e; \ diff --git a/libfdt/Makefile.libfdt b/libfdt/Makefile.libfdt index 3dfc1d4..3be2b21 100644 --- a/libfdt/Makefile.libfdt +++ b/libfdt/Makefile.libfdt @@ -3,13 +3,15 @@ # This is not a complete Makefile of itself. Instead, it is designed to # be easily embeddable into other systems of Makefiles. # - LIBFDT_OBJS_L = fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o LIBFDT_OBJS = $(LIBFDT_OBJS_L:%=$(LIBFDT_PREFIX)%) LIBFDT_LIB_L = libfdt.a LIBFDT_LIB = $(LIBFDT_LIB_L:%=$(LIBFDT_PREFIX)%) +LIBFDT_INCLUDES_L = fdt.h libfdt.h +LIBFDT_INCLUDES = $(LIBFDT_INCLUDES_L:%=$(LIBFDT_PREFIX)%) + LIBFDT_CLEANFILES_L = *~ *.o *.d *.a $(LIBFDT_LIB) \ *.i *.s a.out core LIBFDT_CLEANFILES = $(LIBFDT_CLEANFILES_L:%=$(LIBFDT_PREFIX)%)