summaryrefslogtreecommitdiff
path: root/devel/libopencm3/files/patch-Makefile
blob: eff53755660f9f8d8a4f0026996b7347c1157f55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
--- Makefile.orig	2020-03-10 13:16:26.000000000 +0300
+++ Makefile	2020-03-17 21:51:02.930996000 +0300
@@ -17,11 +17,19 @@
 ## along with this library.  If not, see <http://www.gnu.org/licenses/>.
 ##
 
-PREFIX		?= arm-none-eabi-
+TARGET		?= arm-none-eabi
 
 STYLECHECK      := scripts/checkpatch.pl
 STYLECHECKFLAGS := --no-tree -f --terse --mailback
 
+
+DESTDIR		?= /usr/local
+
+INCDIR		:= $(DESTDIR)/$(TARGET)/include
+LIBDIR		:= $(DESTDIR)/$(TARGET)/lib
+SHAREDIR	:= $(DESTDIR)/$(TARGET)/share/libopencm3/scripts
+INSTALL		:= install
+
 TARGETS ?=	stm32/f0 stm32/f1 stm32/f2 stm32/f3 stm32/f4 stm32/f7 \
 		stm32/l0 stm32/l1 stm32/l4 \
 		stm32/g0 \
@@ -66,7 +74,7 @@
 $(LIB_DIRS): $(IRQ_DEFN_FILES:=.genhdr)
 	$(Q)$(RM) .stamp_failure_$(subst /,_,$@)
 	@printf "  BUILD   $@\n";
-	$(Q)$(MAKE) --directory=$@ PREFIX="$(PREFIX)" || \
+	$(Q)$(MAKE) --directory=$@ PREFIX="$(TARGET)-" || \
 		echo "Failure building: $@: code: $$?" > .stamp_failure_$(subst /,_,$@)
 
 lib: $(LIB_DIRS)
@@ -76,6 +84,18 @@
 	done;
 	$(Q)[ -f .stamp_failure_tld ] && cat .stamp_failure_tld && exit 1 || true;
 
+install: lib
+	@printf "  INSTALL headers\n"
+	$(Q)$(INSTALL) -d $(INCDIR)/libopencm3
+	$(Q)$(INSTALL) -d $(INCDIR)/libopencmsis
+	$(Q)$(INSTALL) -d $(LIBDIR)
+	$(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)
+
 html doc:
 	$(Q)$(MAKE) -C doc html TARGETS="$(TARGETS)"
 
@@ -121,4 +141,4 @@
 	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