diff --git a/Makefile b/Makefile index 6929769d..ca06efd7 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,13 @@ PREFIX ?= arm-none-eabi STYLECHECK := scripts/checkpatch.pl STYLECHECKFLAGS := --no-tree -f --terse --mailback +DESTDIR ?= /usr/local + +INCDIR := $(DESTDIR)/$(PREFIX)/include +LIBDIR := $(DESTDIR)/$(PREFIX)/lib +SHAREDIR := $(DESTDIR)/$(PREFIX)/share/libopencm3/scripts +INSTALL := install + space:= space+= SRCLIBDIR:= $(subst $(space),\$(space),$(realpath lib)) @@ -70,6 +77,22 @@ $(LIB_DIRS): $(IRQ_DEFN_FILES:=.genhdr) lib: $(LIB_DIRS) $(Q)true +install: lib + @printf " INSTALL headers\n" + $(Q)$(INSTALL) -d $(INCDIR)/libopencm3 + $(Q)$(INSTALL) -d $(INCDIR)/libopencmsis + $(Q)$(INSTALL) -d $(LIBDIR) + $(Q)$(INSTALL) -d $(SHAREDIR) + $(Q)cp -r include/libopencm3/* $(INCDIR)/libopencm3 + $(Q)cp -r include/libopencmsis/* $(INCDIR)/libopencmsis + @printf " INSTALL libs\n" + $(Q)$(INSTALL) -m 0644 lib/*.a $(LIBDIR) + @printf " INSTALL ldscripts\n" + $(Q)$(INSTALL) -m 0644 lib/*.ld $(LIBDIR) + $(Q)$(INSTALL) -m 0644 lib/*/*.ld $(LIBDIR) + $(Q)$(INSTALL) -m 0644 lib/*/*/*.ld $(LIBDIR) + + html doc: $(Q)$(MAKE) -C doc html @@ -114,4 +137,4 @@ genlinktests.clean: fi; -.PHONY: build lib $(LIB_DIRS) doc clean generatedheaders cleanheaders stylecheck genlinktests genlinktests.clean +.PHONY: build lib $(LIB_DIRS) install doc clean generatedheaders cleanheaders stylecheck genlinktests genlinktests.clean