Kuon  1.1.3
RoadNarrows Robotics Large Outdoor Mobile Robot Project
Makefile
Go to the documentation of this file.
1 ################################################################################
2 #
3 # ./Makefile
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief Top-level \h_kuon package makefile.
10 
11 RN Make System Specific Makefile
12 
13 \pkgsynopsis
14 RoadNarrows Robotics \h_kuon Large Mobile Robot Package
15 
16 \pkgfile{Makefile}
17 
18 \pkgauthor{Rob Shiely,rob@roadnarrows.com}
19 \pkgauthor{Robin Knight,robin.knight@roadnarrows.com}
20 \pkgauthor{Daniel Packard,daniel@roadnarrows.com}
21 
22 \pkgcopyright{2010-2018,RoadNarrows LLC,http://www.roadnarrows.com}
23 
24 \license{MIT}
25 
26 \EulaBegin
27 \EulaEnd
28 
29  * \cond RNMAKE_DOXY
30  */
31 endif
32 #
33 ################################################################################
34 
35 #------------------------------------------------------------------------------
36 # Required
37 
38 # Package Root Directory
39 RNMAKE_PKG_ROOT = .
40 
41 # Bootstrap package within RN Make System
42 include $(RNMAKE_PKG_ROOT)/make/Bootstrap.mk
43 
44 
45 #------------------------------------------------------------------------------
46 # Subdirectories
47 
48 RNMAKE_SUBDIRS = sw
49 
50 # examples
51 
52 
53 #------------------------------------------------------------------------------
54 # Distribution Header List Tags
55 
56 # List of tags to lists of header files slated to be distributed and installed.
57 #
58 RNMAKE_DIST_HDRS = kuon
59 
60 #
61 # Distribution Headers
62 #
63 # Format: <tag>.HDRS.H = [<subdirs>/]<hdr>.h ...
64 #
65 # Note: Any header file that requires distribution is expected to be in
66 # $(topdir)/include. Otherwise, is it really a deliverable header?
67 #
68 kuon.HDRS.H = \
69  Kuon/kuon.h \
70  Kuon/kuonDesc.h \
71  Kuon/kuonDescBase.h \
72  Kuon/kuonJoint.h \
73  Kuon/kuonProdBase.h \
74  Kuon/kuonProdBaseStd.h \
75  Kuon/kuonRobot.h \
76  Kuon/kuonSpec.h \
77  Kuon/kuonStatus.h \
78  Kuon/kuonTraj.h \
79  Kuon/kuonUtils.h \
80  Kuon/kuonXmlCfg.h \
81  Kuon/RS160DControl.h
82 
83 
84 #------------------------------------------------------------------------------
85 # Documentation
86 
87 # Doxygen Configuration File
88 RNMAKE_DOXY_CONF_FILE = $(RNMAKE_PKG_ROOT)/make/doxy.conf
89 
90 #------------------------------------------------------------------------------
91 # Extras
92 #
93 
94 EXTRA_TGT_ALL_POST = all-post
95 
96 # Overo Linaro versions of Kuon
97 ETC_PROF_D_KUON.linaro = share/etc/profile.d/kuon_linaro.sh \
98 ETC_FILES.linaro = share/etc/profile.d/linary.sh \
99  share/etc/init.d/*
100 
101 # Odroid Ubuntu versions of Kuon
102 ETC_PROF_D_KUON.odroid = share/etc/profile.d/kuon_odroid.sh \
103 ETC_FILES.odroid = share/etc/init.d/*
104 
105 # profile.d source and destination shell script
106 ETC_PROF_D_KUON_SRC = $(ETC_PROF_D_KUON.$(RNMAKE_ARCH))
107 ETC_PROF_D_KUON_DST = $(DISTDIR_ETC)/profile.d/kuon.sh
108 
109 # On-target Kuon and off-target host computers
110 ETC_FILES = share/etc/kuon/kuon.conf \
111  share/etc/kuon/*.xml \
112  share/etc/ld.so.conf.d/*.conf \
113  etc/udev/rules.d/*
114 
115 LIB_FILES = share/lib/cmake/rnr/rnr-kuon-config.cmake
116 
117 PKGDIR_SHARE = $(RNMAKE_PKG_ROOT)/share
118 
119 .PHONY: all-post
120 all-post: show-banner cp-etc-files cp-lib-files cp-share-files
121 
122 .PHONY: show-banner
123 show-banner:
124  $(call printDirBanner,,all-post)
125  @printf "Pre-install Configuration\n"
126 
127 .PHONY: cp-etc-files
128 cp-etc-files:
129  $(call printGoalDesc,$(@),Copying etc files to $(DISTDIR_ETC))
130  $(call copySrcDirRel,$(ETC_FILES) $(ETC_FILES.$(RNMAKE_ARCH)),$(DISTDIR_ETC))
131  $(if $(ETC_PROF_D_KUON_SRC),\
132  $(call copySrcDst,$(ETC_PROF_D_KUON_SRC),$(ETC_PROF_D_KUON_DST)),)
133 
134 .PHONY: cp-lib-files
135 cp-lib-files:
136  $(call printGoalDesc,$(@),Copying extra lib files to $(DISTDIR_LIB))
137  $(call copySrcDirRel,$(LIB_FILES),$(DISTDIR_LIB))
138 
139 .PHONY: cp-share-files
140 cp-share-files:
141  $(call printGoalDesc,$(@),Copying share directory to $(DISTDIR_SHARE))
142  @$(CP_R) $(PKGDIR_SHARE)/* $(DISTDIR_SHARE)
143  @find $(DISTDIR_SHARE) -name '*.svn' -print | xargs rm -fr
144 
145 
146 #------------------------------------------------------------------------------
147 # Include RNMAKE rules makefile(s)
148 
149 # include top-level rules
150 include $(RNMAKE_ROOT)/Rules.mk
151 
152 # include extras (must include after top-level)
153 include $(RNMAKE_ROOT)/Extras.mk
154 
155 
156 ifdef RNMAKE_DOXY
157 /*! \endcond RNMAKE_DOXY */
158 endif