4 # All of the settings required by the makefile package
5 # that are determined by configure.
7 # Copyright (C) 1997-2005 Free Software Foundation, Inc.
9 # Author: Scott Christley <scottc@net-community.com>
10 # Author: Ovidiu Predescu <ovidiu@net-community.com>
11 # Author: Nicola Pero <n.pero@mi.flashnet.it>
13 # This file is part of the GNUstep Makefile Package.
15 # This library is free software; you can redistribute it and/or
16 # modify it under the terms of the GNU General Public License
17 # as published by the Free Software Foundation; either version 2
18 # of the License, or (at your option) any later version.
20 # You should have received a copy of the GNU General Public
21 # License along with this library; see the file COPYING.LIB.
22 # If not, write to the Free Software Foundation,
23 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 # The GNUstep Make Package Version
28 GNUSTEP_MAKE_MAJOR_VERSION=@GNUSTEP_MAKE_MAJOR_VERSION@
29 GNUSTEP_MAKE_MINOR_VERSION=@GNUSTEP_MAKE_MINOR_VERSION@
30 GNUSTEP_MAKE_SUBMINOR_VERSION=@GNUSTEP_MAKE_SUBMINOR_VERSION@
31 GNUSTEP_MAKE_VERSION=@GNUSTEP_MAKE_VERSION@
34 # Binary and compile tools
38 OBJCFLAGS= @OBJCFLAGS@
48 # This is the best we can do given the current autoconf, which only
56 # Special case - on mingw32, autoconf sets LN_S to 'ln -s', but then
57 # that does a recursive copy (ie, cp -r).
58 ifeq (@target_os@,mingw32)
61 # Special case - on cygwin, autoconf sets LN_S to 'ln -s', but then
62 # that does a recursive copy (ie, cp -r).
63 ifeq (@target_os@,cygwin)
69 # This is used to remove an existing symlink before creating a new
70 # one. We don't trust 'ln -s -f' as it's unportable so we remove
71 # manually the existing symlink (if any) before creating a new one.
72 # If symlinks are supported on the platform, RM_LN_S is just 'rm -f';
73 # if they are not, we assume they are copies (like cp -r) and we go
74 # heavy-handed with 'rm -Rf'. Note - this code might need rechecking
75 # for the case where LN_S = 'ln', if that ever happens on some
77 ifeq ($(HAS_LN_S), yes)
79 FRAMEWORK_VERSION_SUPPORT = yes
82 FRAMEWORK_VERSION_SUPPORT = no
96 # NB: These variables are defined here only so that they can be
97 # overridden on the command line (so you can type 'AWK=mawk make' to
98 # use a different awk for that particular run of make). We should
99 # *NOT* set them to the full path of these tools at configure time,
100 # because otherwise when you change/update the tools you would need to
101 # reconfigure and reinstall gnustep-make! We can normally assume that
102 # typing 'awk' and 'sed' on the command line cause the preferred awk
103 # and sed programs on the system to be used. Hardcoding the full path
104 # (or the name) of the specific awk or sed program on this sytem here
105 # would make it lot more inflexible. In other words, the following
106 # definitions should remain like in 'AWK = awk' on all systems.
116 INSTALL = @HOST_INSTALL@
117 INSTALL_PROGRAM = @INSTALL_PROGRAM@
118 INSTALL_DATA = @INSTALL_DATA@
120 MKDIRS = $(GNUSTEP_MAKEFILES)/mkinstalldirs
122 # Darwin specific flags
123 CC_CPPPRECOMP = @cc_cppprecomp@
124 CC_BUNDLE = @cc_bundle@
126 # The default library combination
127 default_library_combo = @ac_cv_library_combo@
130 BACKEND_BUNDLE=@BACKEND_BUNDLE@
133 # Do threading stuff.
135 # Warning - the base library's configure.in will extract the thread
136 # flags from the following line using grep/sed - so if you change the
137 # following lines you *need* to update the base library configure.in
141 objc_threaded:=@objc_threaded@
144 # Any user specified libs
145 CONFIG_SYSTEM_INCL=@INCLUDES@
146 CONFIG_SYSTEM_LIBS = @LIBS@
147 CONFIG_SYSTEM_LIB_DIR = @LIB_DIR@
150 # Whether the C/ObjC/C++ compiler supports auto-dependencies
151 # (generating dependencies of the object files from the include files
152 # used to compile them) via -MMD -MP flags
154 AUTO_DEPENDENCIES = @AUTO_DEPENDENCIES@
157 # Whether the ObjC compiler supports precompiling headers.
159 PRECOMPILED_HEADERS = @PRECOMPILED_HEADERS@
162 # Whether the ObjC compiler supports native ObjC exceptions via
163 # @try/@catch/@finally/@throw.
165 USE_OBJC_EXCEPTIONS = @USE_OBJC_EXCEPTIONS@
168 # Location of GNUstep's config file for this installation
170 # Warning - the base library's configure.in will extract the GNUstep
171 # config file location from the following line using grep/sed - so if
172 # you change the following lines you *need* to update the base library
175 # PS: At run-time, this can be overridden on the command-line, or
176 # via an environment variable.
177 ifeq ($(GNUSTEP_CONFIG_FILE),)
178 GNUSTEP_CONFIG_FILE = @GNUSTEP_CONFIG_FILE@
182 # Now we set up the environment and everything by reading the GNUstep
183 # configuration file(s).
186 # These are the defaults value ... they will be used only if they are
187 # not set in the config files (or on the command-line or in
189 GNUSTEP_SYSTEM_ROOT = @GNUSTEP_SYSTEM_ROOT@
190 GNUSTEP_LOCAL_ROOT = @GNUSTEP_LOCAL_ROOT@
191 GNUSTEP_NETWORK_ROOT = @GNUSTEP_NETWORK_ROOT@
192 GNUSTEP_USER_DIR = @GNUSTEP_USER_DIR@
194 # This includes the GNUstep configuration file, but only if it exists
195 -include $(GNUSTEP_CONFIG_FILE)
197 # FIXME: determining GNUSTEP_HOME
198 GNUSTEP_HOME = $(HOME)
200 # Read the user configuration file ... unless it is disabled (ie, set
201 # to an empty string)
202 ifneq ($(GNUSTEP_USER_CONFIG_FILE),)
204 # FIXME - Checking for relative vs. absolute paths!
205 ifneq ($(filter /%, $(GNUSTEP_USER_CONFIG_FILE)),)
206 # Path starts with '/', consider it absolute
207 -include $(GNUSTEP_USER_CONFIG_FILE)
209 # Path does no start with '/', try it as relative
210 -include $(GNUSTEP_HOME)/$(GNUSTEP_USER_CONFIG_FILE)
215 GNUSTEP_FLATTENED = @GNUSTEP_FLATTENED@
218 # Set GNUSTEP_USER_ROOT from GNUSTEP_USER_DIR; GNUSTEP_USER_ROOT is
219 # the variable used in practice
221 ifneq ($(filter /%, $(GNUSTEP_USER_DIR)),)
222 # Path starts with '/', consider it absolute
223 GNUSTEP_USER_ROOT = $(GNUSTEP_USER_DIR)
225 # Path does no start with '/', try it as relative
226 GNUSTEP_USER_ROOT = $(GNUSTEP_HOME)/$(GNUSTEP_USER_DIR)
229 # If multi-platform support is disabled, just use the hardcoded cpu,
230 # vendor and os determined when gnustep-make was configured. The
231 # reason using the hardcoded ones might be better is that config.guess
232 # and similar scripts might even require compiling test files to
233 # determine the platform - which is horribly slow (that is done in
234 # names.make if GNUSTEP_HOST is not yet set at that stage). To
235 # prevent this problem, unless we were configured to determine the
236 # platform at run time, by default we use the hardcoded values of
239 ifeq ("@GNUSTEP_MULTI_PLATFORM@","")
240 GNUSTEP_HOST = @target@
241 GNUSTEP_HOST_CPU = @clean_target_cpu@
242 GNUSTEP_HOST_VENDOR = @clean_target_vendor@
243 GNUSTEP_HOST_OS = @clean_target_os@