mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-15 06:24:01 +00:00
64 lines
2.5 KiB
Text
64 lines
2.5 KiB
Text
|
<?xml version="1.0" ?>
|
||
|
<!-- $Id: setbuilddir.bkl 40 2006-12-02 15:22:02Z frm $ -->
|
||
|
|
||
|
<!--
|
||
|
|
||
|
Adds the logic for setting BUILDDIR in a smart way, checking which other presets have been
|
||
|
included. Include this preset after including all other presets.
|
||
|
|
||
|
Usage:
|
||
|
|
||
|
<include file="presets/sharedopt.bkl"/>
|
||
|
<include file="presets/unicodeopt.bkl"/>
|
||
|
<include file="presets/debugopt.bkl"/>
|
||
|
<include file="presets/setbuilddir.bkl"/>
|
||
|
|
||
|
<lib id="mylib_static" template="debugopt,unicodeopt" cond="SHARED=='0'">
|
||
|
<sources>mylib.cpp</sources>
|
||
|
</lib>
|
||
|
|
||
|
<dll id="mylib_shared" template="debugopt,unicodeopt" cond="SHARED=='1'">
|
||
|
<sources>mylib.cpp</sources>
|
||
|
</dll>
|
||
|
|
||
|
<set var="MSVC6PRJ_MERGED_TARGETS">mylib=mylib_static+mylib_shared</set>
|
||
|
-->
|
||
|
|
||
|
<makefile>
|
||
|
|
||
|
<!--
|
||
|
Setting the BUILDDIR variable using the
|
||
|
SHAREDBUILDPOSTFIX/DEBUGBUILDPOSTFIX/UNICODEBUILDPOSTFIX
|
||
|
variables we will keep separed the intermediate files (objects, compiled resources, exes, libs)
|
||
|
generated using SHARED/DEBUG/UNICODE=0 from those generated using SHARED/DEBUG/UNICODE=1.
|
||
|
|
||
|
Using the same BUILDDIR for these different configurations would force the
|
||
|
user to call a "make clean" (or equivalent) before rebuilding since it's not wise
|
||
|
mixing a shared build with a static one or a debug build with a release one
|
||
|
or a unicode build with an ansi one.
|
||
|
|
||
|
Last, using the COMPILER when setting BUILDDIR keeps separed the object files generated using
|
||
|
different compilers (in case makefiles for different compilers are generated in the same directory).
|
||
|
|
||
|
NOTE: the autoconf format requires BUILDDIR='.' since using different build directories
|
||
|
is already handled by the configure script.
|
||
|
E.g.
|
||
|
for debug builds: mkdir dbg && cd dbg && ../configure - -enable-debug
|
||
|
for release builds: mkdir rel && cd rel && ../configure - -disable-debug
|
||
|
...
|
||
|
See autoconf documentation for more info.
|
||
|
-->
|
||
|
|
||
|
<!-- some helpers -->
|
||
|
<set var="SHRDSTR"><if cond="isdefined('SHAREDBUILDPOSTFIX')">_$(SHAREDBUILDPOSTFIX)</if></set>
|
||
|
<set var="DBGSTR"><if cond="isdefined('DEBUGBUILDPOSTFIX')">_$(DEBUGBUILDPOSTFIX)</if></set>
|
||
|
<set var="UNICSTR"><if cond="isdefined('UNICODEBUILDPOSTFIX')">_$(UNICODEBUILDPOSTFIX)</if></set>
|
||
|
|
||
|
<if cond="FORMAT!='autoconf'">
|
||
|
<set var="BUILDDIR">
|
||
|
$(COMPILER)$(SHRDSTR)$(DBGSTR)$(UNICSTR)
|
||
|
</set>
|
||
|
</if>
|
||
|
|
||
|
</makefile>
|