root/juggler/branches/2.2/modules/sonix/Makefile.in

Revision 20220, 12.5 kB (checked in by patrick, 1 year ago)

MFT r20219: Disable building profiled libraries. Right now, Flagpoll does not

quite support what we need in order to be able to build profiled
libraries, and until that is resolved, there is no easy way for
the profiled build to be fixed.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 # ***************** <SNX heading BEGIN do not edit this line> *****************
2 #
3 # sonix
4 #
5 # Original Authors:
6 #   Kevin Meinert, Carolina Cruz-Neira
7 #
8 # ****************** <SNX heading END do not edit this line> ******************
9
10 # ************** <auto-copyright.pl BEGIN do not edit this line> **************
11 #
12 # VR Juggler is (C) Copyright 1998-2007 by Iowa State University
13 #
14 # Original Authors:
15 #   Allen Bierbaum, Christopher Just,
16 #   Patrick Hartling, Kevin Meinert,
17 #   Carolina Cruz-Neira, Albert Baker
18 #
19 # This library is free software; you can redistribute it and/or
20 # modify it under the terms of the GNU Library General Public
21 # License as published by the Free Software Foundation; either
22 # version 2 of the License, or (at your option) any later version.
23 #
24 # This library is distributed in the hope that it will be useful,
25 # but WITHOUT ANY WARRANTY; without even the implied warranty of
26 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
27 # Library General Public License for more details.
28 #
29 # You should have received a copy of the GNU Library General Public
30 # License along with this library; if not, write to the
31 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
32 # Boston, MA 02111-1307, USA.
33 #
34 # *************** <auto-copyright.pl END do not edit this line> ***************
35
36 # -----------------------------------------------------------------------------
37 # Base Makefile.in for Sonix.  It requires GNU make.
38 #
39 # Generated for use on @PLATFORM@
40 # -----------------------------------------------------------------------------
41 # Targets are:
42 #
43 # world             - Build and install everything.
44 # world-all-abi     - Build and install everything using all supported ABIs.
45 # buildworld        - Build everything (same as 'all').
46 # installworld      - Install everything (same as 'install-all').  This
47 #                     requires  that 'buildworld' be successfully completed
48 #                     beforehand.
49 # release           - Build and install a release version.
50 #
51 # all               - Build everything.
52 # all-abi           - Build everything using all supported ABIs.
53 # debug             - Build the Sonix libraries (dynamic and static) with
54 #                     debugging symbols turned on.
55 # dbg               - Build the debugging, static copy of the libraries.
56 # dbg-dso           - Build the debugging, dynamic shared object version of
57 #                     the libraries.
58 # optim             - Build the Sonix libraries (dynamic and static) with
59 #                     optimization flags enabled.
60 # opt               - Build the optimized, static version of the libraries.
61 # opt-dso           - Build the dynamic shared object version of the
62 #                     libraries.
63 # profiled          - Build the Sonix libraries (dynamic and static) with
64 #                     profiling flags enabled.
65 # prof              - Build the profiled, static version of the libraries.
66 # prof-dso          - Build the profiled, dynamic shared object version of the
67 #                     libraries.
68 # obj               - Build the object files using the default value for
69 #                     $(OBJDIR).
70 #
71 # links             - Define links (for developer use only) that provide
72 #                     functionality allowing the use of the $SNX_BASE_DIR
73 #                     environment variable.
74 # clean-links       - Remove the symlinks created by 'links'.
75 #
76 # hier              - Make the full directory hierarchy for the installation.
77 # install-all       - Install all versions of the libraries, all header files,
78 #                     the Data directory, and the test code.
79 # install-all-abi   - Install every ABI possible on the target platform.
80 # install           - Install the full debugging version of Sonix (with
81 #                     both static and dynamic libraries).
82 # install-debug     - Same as 'install'.
83 # install-dbg       - Install the debugging, static version of the libraries.
84 # install-dbg-dso   - Install the debugging, dynamic shared object version of
85 #                     the libraries.
86 # install-optim     - Install the full optimized version of Sonix (with
87 #                     both static and dynamic libraries).
88 # install-opt       - Install the optimized, static version of the libraries.
89 # install-opt-dso   - Install the dynamic shared object version of the
90 #                     libraries.
91 # install-headers   - Install only the header files.
92 # install-samples   - Install only the sample code.
93 # install-data      - Install only the Data directory.
94 #
95 # docs              - Build the internal and the public documentation.
96 # doc-internal      - Build only the internal documentation.
97 # doc-public        - Build only the public documentation.
98 #
99 # clean             - Clean up everything (uses common 'clean' target).
100 # cleandepend       - Clean up the dependency files (uses common 'cleandepend'
101 #                     target).
102 # clobber           - Clean up everything and remove the directories
103 #                     containing the compiled libraries and its object files.
104 #
105 # info              - Print out information about the build process that may
106 #                     be useful to the user.
107 #
108 # The default target is 'debug'.  'install' will install the debugging, static
109 # version of the libraries.
110 # -----------------------------------------------------------------------------
111
112 default: debug
113
114 # This is a hack to deal with GNU make's ignorance about defined targets.
115 # Without this, the 'default' set in dpp.subdir.mk becomes the default
116 # target, and that's not what we want.
117 DEFAULT_SET=    1
118
119 # Include common definitions.
120 include @topdir@/make.defs.mk
121
122 STARTTIME:=     $(shell LC_TIME=C date)
123
124 BUILD_PROF_C=   @BUILD_PROF_C@
125 BUILD_PROF_CXX= @BUILD_PROF_CXX@
126
127 # If we can build both C and C++ profiled objects, we will build profiled
128 # libraries.
129 #ifeq ($(BUILD_PROF_C), Y)
130 #ifeq ($(BUILD_PROF_CXX), Y)
131 #   BUILD_PROF_LIBS=    1
132 #endif
133 #endif
134
135 # =============================================================================
136 # Lists used for various types of recursion.
137 # =============================================================================
138
139 # Subdirectories used for recursion through the source tree.
140 SUBDIR= snx
141
142 # =============================================================================
143 # Library targets.  The default is 'debug' as defined above.  The steps for
144 # building the 'dbg', 'dbg-dso', 'opt' and 'opt-dso' are as follows:
145 #
146 #    1) Build dependencies (if necessary).
147 #    2) Compile all object files that are out of date.
148 #    3) Compile the actual libraries from the object files.
149 #    4) Build the Java-based config editor (if necessary).
150 #    5) Set up the developer installation links.
151 # =============================================================================
152
153 # ------------------------------------------------
154 # Build and install everything (i.e., the world).
155 # ------------------------------------------------
156 world:
157         @echo "==============================================================="
158         @echo ">>> Sonix make world started $(STARTTIME)"
159         @echo "==============================================================="
160 ifndef NO_CLEAN
161         @$(MAKE) clobber
162 endif
163         @$(MAKE) $(BEFOREBUILD)
164         @$(MAKE) libs
165         @$(MAKE) BUILD_TYPE=all $(AFTERBUILD)
166         @echo "---------------------------------------------------------------"
167         @echo "Beginning Sonix installation process"
168         @echo "---------------------------------------------------------------"
169         @$(MAKE) beforeinstall
170         @$(MAKE) install-libs
171         @$(MAKE) do-post-install
172         @echo "==============================================================="
173         @echo ">>> Sonix make world started $(STARTTIME)"
174         @echo ">>> Sonix make world completed `LTIME=C date`"
175         @echo "==============================================================="
176
177 # ------------------------------------------------------------------------
178 # Build and install everything (i.e., the world) using all possible ABIs.
179 # ------------------------------------------------------------------------
180 world-all-abi:
181         @echo "==============================================================="
182         @echo ">>> Sonix make world started on $(STARTTIME)"
183         @echo "==============================================================="
184 ifndef NO_CLEAN
185         @$(MAKE) clobber
186 endif
187         @$(MAKE) $(BEFOREBUILD)
188         @for abi in $(ABI_LIST) ; do                                    \
189             echo "------------------------------------------------" ;   \
190             echo "Building libraries using $$abi" ;                     \
191             echo "------------------------------------------------" ;   \
192             $(MAKE) gadgetABI=$$abi libs ;                              \
193           done
194         @$(MAKE) BUILD_TYPE=all $(AFTERBUILD)
195         @echo "---------------------------------------------------------------"
196         @echo "Beginning Sonix installation process"
197         @echo "---------------------------------------------------------------"
198         @$(MAKE) beforeinstall
199         @for abi in $(ABI_LIST) ; do                                    \
200             echo "------------------------------------------------" ;   \
201             echo "Installing $$abi version of libraries" ;              \
202             echo "------------------------------------------------" ;   \
203             $(MAKE) gadgetABI=$$abi install-libs ;                      \
204           done
205         @$(MAKE) do-post-install
206         @echo "==============================================================="
207         @echo ">>> Sonix make world started on $(STARTTIME)"
208         @echo ">>> Sonix make world completed on `LTIME=C date`"
209         @echo "==============================================================="
210
211 # -----------------------------------------------------------------------------
212 # A release is a superset of 'world' except that no profiled libraries are
213 # built.  Beyond this, the change log, release notes, etc. are installed.
214 # A special case is required for releases made in the "global" build.  Namely,
215 # the developer installation ("instlinks") must be created so that subsequent
216 # targets can find headers properly.
217 # -----------------------------------------------------------------------------
218 release:
219         @echo "==============================================================="
220         @echo ">>> Sonix make release started on $(STARTTIME)"
221         @echo "==============================================================="
222 ifndef NO_CLEAN
223         @$(MAKE) clobber
224 endif
225         @$(MAKE) $(BEFOREBUILD)
226         @$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N libs
227         @$(MAKE) BUILD_TYPE=opt $(AFTERBUILD)
228         @echo "---------------------------------------------------------------"
229         @echo "Beginning Sonix release installation process"
230         @echo "---------------------------------------------------------------"
231         @$(MAKE) beforeinstall
232         @$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N install-libs
233         @$(MAKE) BUILD_PROF_C=N BUILD_PROF_CXX=N do-post-install
234         $(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX)                   \
235           $(EXTRA_INSTALL_ARGS) $(ROOT_ABS)/ChangeLog $(projdatadir)
236         $(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX)                   \
237           $(EXTRA_INSTALL_ARGS) $(JUGGLERROOT_ABS)/COPYING.txt $(projdatadir)
238         $(INSTALL) -m $(FILE_PERMS) $(GROUP_OPT_UNIX)                   \
239           $(EXTRA_INSTALL_ARGS) $(ROOT_ABS)/README.txt $(projdatadir)
240         @echo "Build time: `LTIME=C date`" > $(projdatadir)/BUILD_TIME
241         @echo "==============================================================="
242         @echo ">>> Sonix make release started on $(STARTTIME)"
243         @echo ">>> Sonix make release completed on `LTIME=C date`"
244         @echo "==============================================================="
245
246 # -------------------------------------
247 # Build all versions of the libraries.
248 # -------------------------------------
249 buildworld: all
250
251 # ------------------------------------------------------------------------
252 # Do a full installation all versions of the libraries and the associated
253 # files.
254 # ------------------------------------------------------------------------
255 installworld: install-all
256
257 # =============================================================================
258 # Automatically generated documentation.
259 # =============================================================================
260 docs: doc-internal doc-public
261
262 doc-internal:
263         $(MAKE) -C Doc SUBDIRS="$(SUBDIRS)" $@
264
265 doc-public:
266         $(MAKE) -C Doc SUBDIRS="$(SUBDIRS)" $@
267
268 # =============================================================================
269 # Human-readable information about the build system.
270 # =============================================================================
271 info:
272         @echo "\nInfo for the make of $(SNX_LIBRARY)"
273         @echo "\nOBJDIR: $(OBJDIR)"
274         @echo "ROOT_ABS: $(ROOT_ABS)"
275         @echo "Default ABI: $(ABI)"
276         @echo "Default instruction set architecture: $(ISA)"
277         @echo "ABI list: $(ABI_LIST)"
278         @echo "DBG_BUILDDIR: $(DBG_BUILDDIR)"
279         @echo "OPT_BUILDDIR: $(OPT_BUILDDIR)"
280         @echo "Installation prefix: $(prefix)"
281         @echo "includedir: $(includedir)"
282         @echo "libdir: $(libdir)"
283         @$(SHELL) $(scriptdir)/print-targets.sh
284
285 include $(MKPATH)/dpp.subdir.mk
286 include Makefile.inc
Note: See TracBrowser for help on using the browser.