summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--bcc32/Makefile.sub4
-rw-r--r--ext/dbm/extconf.rb2
-rw-r--r--ext/digest/md5/extconf.rb3
-rw-r--r--ext/digest/rmd160/extconf.rb3
-rw-r--r--ext/digest/sha1/extconf.rb3
-rw-r--r--ext/digest/sha2/extconf.rb3
-rw-r--r--ext/extmk.rb8
-rw-r--r--ext/socket/extconf.rb88
-rw-r--r--ext/socket/socket.c2
-rw-r--r--ext/zlib/extconf.rb7
-rw-r--r--lib/mkmf.rb56
-rw-r--r--ruby.h3
-rw-r--r--win32/Makefile.sub4
-rw-r--r--wince/Makefile.sub4
15 files changed, 107 insertions, 96 deletions
diff --git a/ChangeLog b/ChangeLog
index 41f77f3c8cb..f359e0fda03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Fri May 26 08:40:03 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * ruby.h, lib/mkmf.rb (create_header): clear command line options for
+ macros moved to extconf.h.
+
+ * ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
+ EXTSTATIC permanent.
+
+ * ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
+
+ * {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
+ $(INCFLAGS).
+
Thu May 25 01:52:07 2006 nobuyoshi nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (pkg_config): particular config commands support.
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index d0edd03da22..b177ca023d1 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -392,8 +392,8 @@ s,@LIBPATHFLAG@, -L"%s",;t t
s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$(@:/=\), nul, $$(LIBS) $$(LOCAL_LIBS), $$(DEFFILE), $$(RESFILE),;t t
-s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
-s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(<:/=\),;t t
+s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
+s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(<:/=\),;t t
s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t
s,@COMMON_LIBS@,m advapi32 avicap32 avifil32 cap comctl32 comdlg32 dlcapi gdi32 glu32 imagehlp imm32 inetmib1 kernel32 loadperf lsapi32 lz32 mapi32 mgmtapi mpr msacm32 msvfw32 nddeapi netapi32 ole32 oleaut32 oledlg olepro32 opengl32 pdh pkpd32 rasapi32 rasdlg rassapi rpcrt4 setupapi shell32 shfolder snmpapi sporder tapi32 url user32 vdmdbg version win32spl winmm wintrust wsock32,;t t
diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb
index 5a67603e699..19bfc1f6d31 100644
--- a/ext/dbm/extconf.rb
+++ b/ext/dbm/extconf.rb
@@ -33,7 +33,7 @@ def db_check(db)
if have_library(db, db_prefix("dbm_open")) || have_func(db_prefix("dbm_open"))
for hdr in $dbm_conf_headers.fetch(db, ["ndbm.h"])
if have_header(hdr.dup) and have_type("DBM", hdr.dup, hsearch)
- $CFLAGS += " " + hsearch + '-DDBM_HDR="<'+hdr+'>"'
+ $defs << hsearch << '-DDBM_HDR="<'+hdr+'>"'
return true
end
end
diff --git a/ext/digest/md5/extconf.rb b/ext/digest/md5/extconf.rb
index 3fd21166a43..018f8ccb02f 100644
--- a/ext/digest/md5/extconf.rb
+++ b/ext/digest/md5/extconf.rb
@@ -3,7 +3,8 @@
require "mkmf"
-$CFLAGS << " -DHAVE_CONFIG_H -I#{File.dirname(__FILE__)}/.."
+$defs << "-DHAVE_CONFIG_H"
+$INCFLAGS << " -I$(srcdir)/.."
$objs = [ "md5init.#{$OBJEXT}" ]
diff --git a/ext/digest/rmd160/extconf.rb b/ext/digest/rmd160/extconf.rb
index a3b63d75e04..d38dadd0412 100644
--- a/ext/digest/rmd160/extconf.rb
+++ b/ext/digest/rmd160/extconf.rb
@@ -3,7 +3,8 @@
require "mkmf"
-$CFLAGS << " -DHAVE_CONFIG_H -I#{File.dirname(__FILE__)}/.."
+$defs << "-DNDEBUG" << "-DHAVE_CONFIG_H"
+$INCFLAGS << " -I$(srcdir)/.."
$objs = [ "rmd160init.#{$OBJEXT}" ]
diff --git a/ext/digest/sha1/extconf.rb b/ext/digest/sha1/extconf.rb
index 4d8ba64c394..d7b8126de52 100644
--- a/ext/digest/sha1/extconf.rb
+++ b/ext/digest/sha1/extconf.rb
@@ -3,7 +3,8 @@
require "mkmf"
-$CFLAGS << " -DHAVE_CONFIG_H -I#{File.dirname(__FILE__)}/.."
+$defs << "-DHAVE_CONFIG_H"
+$INCFLAGS << " -I$(srcdir)/.."
$objs = [ "sha1init.#{$OBJEXT}" ]
diff --git a/ext/digest/sha2/extconf.rb b/ext/digest/sha2/extconf.rb
index 894228decad..200d386bef6 100644
--- a/ext/digest/sha2/extconf.rb
+++ b/ext/digest/sha2/extconf.rb
@@ -3,7 +3,8 @@
require "mkmf"
-$CPPFLAGS << " -DHAVE_CONFIG_H -I#{File.dirname(__FILE__)}/.."
+$defs << "-DHAVE_CONFIG_H"
+$INCFLAGS << " -I$(srcdir)/.."
$objs = [
"sha2.#{$OBJEXT}",
diff --git a/ext/extmk.rb b/ext/extmk.rb
index bb32e82f134..70664855716 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -69,6 +69,8 @@ def extract_makefile(makefile, keep = true)
return false
end
$target = target
+ $extconf_h = m[/^RUBY_EXTCONF_H[ \t]*=[ \t]*(\S+)/, 1]
+ $static = m[/^EXTSTATIC[ \t]*=[ \t]*(\S+)/, 1] || false
/^STATIC_LIB[ \t]*=[ \t]*\S+/ =~ m or $static = nil
$preload = Shellwords.shellwords(m[/^preload[ \t]*=[ \t]*(.*)/, 1] || "")
$DLDFLAGS += " " + (m[/^DLDFLAGS[ \t]*=[ \t]*(.*)/, 1] || "")
@@ -90,6 +92,7 @@ def extmake(target)
else
$static = false
end
+ $default_static = $static
unless $ignore
return true if $nodynamic and not $static
@@ -122,10 +125,13 @@ def extmake(target)
CONFIG["srcdir"] = "$(hdrdir)/ext/#{$mdir}"
CONFIG["topdir"] = $topdir
begin
- if (!(ok &&= extract_makefile(makefile)) ||
+ $extconf_h = nil
+ ok &&= extract_makefile(makefile)
+ if (($extconf_h && !File.exist?($extconf_h)) ||
!(t = modified?(makefile, MTIMES)) ||
%W"#{$srcdir}/makefile.rb #{$srcdir}/extconf.rb #{$srcdir}/depend".any? {|f| modified?(f, [t])})
then
+ $default_static = $static
ok = false
init_mkmf
Logging::logfile 'mkmf.log'
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index a83afa558d6..125ef6be207 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -26,7 +26,7 @@ if /solaris/ =~ RUBY_PLATFORM and !try_compile("")
headers << "sys/feature_tests.h"
end
-$ipv6 = false
+ipv6 = false
default_ipv6 = /cygwin/ !~ RUBY_PLATFORM
if enable_config("ipv6", default_ipv6)
if checking_for("ipv6") {try_link(<<EOF)}
@@ -37,63 +37,45 @@ main()
socket(AF_INET6, SOCK_STREAM, 0);
}
EOF
- $CPPFLAGS+=" -DENABLE_IPV6"
- $ipv6 = true
+ $defs << "-DENABLE_IPV6" << "-DINET6"
+ ipv6 = true
end
end
-$ipv6type = nil
-$ipv6lib = nil
-$ipv6libdir = nil
-$ipv6trylibc = nil
-if $ipv6
- if have_macro("IPV6_INRIA_VERSION", "netinet/in.h")
- $ipv6type = "inria"
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
- elsif have_macro("__KAME__", "netinet/in.h")
- $ipv6type = "kame"
- $ipv6lib="inet6"
- $ipv6libdir="/usr/local/v6/lib"
- $ipv6trylibc=true
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
- elsif File.directory? "/usr/inet6"
- $ipv6type = "linux"
- $ipv6lib="inet6"
- $ipv6libdir="/usr/inet6/lib"
- $CPPFLAGS="-DINET6 -I/usr/inet6/include "+$CPPFLAGS
- elsif have_macro("_TOSHIBA_INET6", "sys/param.h")
- $ipv6type = "toshiba"
- $ipv6lib="inet6"
- $ipv6libdir="/usr/local/v6/lib"
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
- elsif have_macro("__V6D__", "/usr/local/v6/include/sys/v6config.h")
- $ipv6type = "v6d"
- $ipv6lib="v6"
- $ipv6libdir="/usr/local/v6/lib"
- $CFLAGS="-I/usr/local/v6/include "+$CFLAGS
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
- elsif have_macro("_ZETA_MINAMI_INET6", "sys/param.h")
- $ipv6type = "zeta"
- $ipv6lib="inet6"
- $ipv6libdir="/usr/local/v6/lib"
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
- else
- $ipv6lib=with_config("ipv6-lib", nil)
- $ipv6libdir=with_config("ipv6-libdir", nil)
- $CPPFLAGS="-DINET6 "+$CPPFLAGS
+if ipv6
+ ipv6lib = nil
+ class << (fmt = "unknown")
+ def %(s) s || self end
end
-
- if $ipv6lib
- if File.directory? $ipv6libdir and File.exist? "#{$ipv6libdir}/lib#{$ipv6lib}.a"
- $LOCAL_LIBS = " -L#$ipv6libdir -l#$ipv6lib"
- elsif !$ipv6trylibc
- abort <<EOS
-Fatal: no #$ipv6lib library found. cannot continue.
-You need to fetch lib#{$ipv6lib}.a from appropriate
-ipv6 kit and compile beforehand.
+ idirs, ldirs = dir_config("inet6", %w[/usr/inet6 /usr/local/v6].find {|d| File.directory?(d)})
+ checking_for("ipv6 type", fmt) do
+ if have_macro("IPV6_INRIA_VERSION", "netinet/in.h")
+ "inria"
+ elsif have_macro("__KAME__", "netinet/in.h")
+ have_library(ipv6lib = "inet6")
+ "kame"
+ elsif have_macro("_TOSHIBA_INET6", "sys/param.h")
+ have_library(ipv6lib = "inet6") and "toshiba"
+ elsif have_macro("__V6D__", "sys/v6config.h")
+ have_library(ipv6lib = "v6") and "v6d"
+ elsif have_macro("_ZETA_MINAMI_INET6", "sys/param.h")
+ have_library(ipv6lib = "inet6") and "zeta"
+ elsif ipv6lib = with_config("ipv6-lib")
+ warn <<EOS
+--with-ipv6-lib and --with-ipv6-libdir option will be obsolete, use
+--with-inet6lib and --with-inet6-{include,lib} options instead.
EOS
+ find_library(ipv6lib, nil, with_config("ipv6-libdir", ldirs)) and
+ ipv6lib
+ elsif have_library("inet6")
+ "inet6"
end
- end
+ end or not ipv6lib or abort <<EOS
+
+Fatal: no #{ipv6lib} library found. cannot continue.
+You need to fetch lib#{ipv6lib}.a from appropriate
+ipv6 kit and compile beforehand.
+EOS
end
if have_struct_member("struct sockaddr_in", "sin_len", headers)
@@ -219,7 +201,7 @@ main()
}
EOF
end
-if $ipv6 and not getaddr_info_ok
+if ipv6 and not getaddr_info_ok
abort <<EOS
Fatal: --enable-ipv6 is specified, and your OS seems to support IPv6 feature.
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 7db06ef0676..d9023e146ec 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -2094,7 +2094,7 @@ static VALUE
sock_s_socketpair(klass, domain, type, protocol)
VALUE klass, domain, type, protocol;
{
-#if !defined(_WIN32) && !defined(__BEOS__) && !defined(__EMX__) && !defined(__QNXNTO__)
+#if defined HAVE_SOCKETPAIR
int d, t, sp[2];
setup_domain_and_type(domain, &d, type, &t);
diff --git a/ext/zlib/extconf.rb b/ext/zlib/extconf.rb
index 6b9bb05742e..b4e76af3c60 100644
--- a/ext/zlib/extconf.rb
+++ b/ext/zlib/extconf.rb
@@ -54,12 +54,7 @@ if %w'z libz zlib zdll'.find {|z| have_library(z, 'deflateReset')} and
message "#{OS_NAMES[os_code]}\n"
defines << "OS_CODE=#{os_code}"
- defines = defines.collect{|d|' -D'+d}.join
- if $CPPFLAGS then
- $CPPFLAGS += defines
- else
- $CFLAGS += defines
- end
+ $defs.concat(defines.collect{|d|' -D'+d})
create_makefile('zlib')
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 3a71402973d..7ad7594c09f 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -14,6 +14,7 @@ if /mswin|bccwin|mingw|msdosdjgpp|human|os2/ !~ CONFIG['build_os']
end
SRC_EXT = %w[c m] << CXX_EXT
$static = $config_h = nil
+$default_static = $static
unless defined? $configure_args
$configure_args = {}
@@ -273,15 +274,13 @@ def link_command(ldflags, opt="", libpath=$LIBPATH)
end
def cc_command(opt="")
- RbConfig::expand("$(CC) -c #$INCFLAGS -I$(hdrdir) " \
- "#$CPPFLAGS #$CFLAGS #$ARCH_FLAG #{opt} #{CONFTEST_C}",
- CONFIG.merge('hdrdir' => $hdrdir.quote))
+ RbConfig::expand("$(CC) #$INCFLAGS #$CPPFLAGS #$CFLAGS #$ARCH_FLAG #{opt} -c #{CONFTEST_C}",
+ CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote))
end
def cpp_command(outfile, opt="")
- RbConfig::expand("$(CPP) #$INCFLAGS -I$(hdrdir) " \
- "#$CPPFLAGS #$CFLAGS #{opt} #{CONFTEST_C} #{outfile}",
- CONFIG.merge('hdrdir' => $hdrdir.quote))
+ RbConfig::expand("$(CPP) #$INCFLAGS #$CPPFLAGS #$CFLAGS #{opt} #{CONFTEST_C} #{outfile}",
+ CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote))
end
def libpathflag(libpath=$LIBPATH)
@@ -828,21 +827,24 @@ end
def create_header(header = "extconf.h")
message "creating %s\n", header
- if $defs.length > 0
- sym = header.tr("a-z./\055", "A-Z___")
+ sym = header.tr("a-z./\055", "A-Z___")
+ hdr = ["#ifndef #{sym}\n#define #{sym}\n"]
+ for line in $defs
+ case line
+ when /^-D([^=]+)(?:=(.*))?/
+ hdr << "#define #$1 #{$2 ? Shellwords.shellwords($2)[0] : 1}\n"
+ when /^-U(.*)/
+ hdr << "#undef #$1\n"
+ end
+ end
+ hdr << "#endif\n"
+ hdr = hdr.join
+ unless (IO.read(header) == hdr rescue false)
open(header, "w") do |hfile|
- hfile.print "#ifndef #{sym}\n#define #{sym}\n"
- for line in $defs
- case line
- when /^-D([^=]+)(?:=(.*))?/
- hfile.print "#define #$1 #{$2 || 1}\n"
- when /^-U(.*)/
- hfile.print "#undef #$1\n"
- end
- end
- hfile.print "#endif\n"
+ hfile.write(hdr)
end
end
+ $extconf_h = header
end
def dir_config(target, idefault=nil, ldefault=nil)
@@ -961,6 +963,7 @@ VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])}
else
sep = ""
end
+ extconf_h = $extconf_h ? "-DRUBY_EXTCONF_H=\\\"$(RUBY_EXTCONF_H)\\\" " : ""
mk << %{
CC = #{CONFIG['CC']}
CXX = #{CONFIG['CXX']}
@@ -969,8 +972,10 @@ LIBRUBY_A = #{CONFIG['LIBRUBY_A']}
LIBRUBYARG_SHARED = #$LIBRUBYARG_SHARED
LIBRUBYARG_STATIC = #$LIBRUBYARG_STATIC
+RUBY_EXTCONF_H = #{$extconf_h}
CFLAGS = #{CONFIG['CCDLFLAGS'] unless $static} #$CFLAGS #$ARCH_FLAG
-CPPFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir) #{$defs.join(" ")} #{$CPPFLAGS}
+INCFLAGS = -I. #$INCFLAGS
+CPPFLAGS = #{extconf_h}#{$CPPFLAGS}
CXXFLAGS = $(CFLAGS) #{CONFIG['CXXFLAGS']}
DLDFLAGS = #$LDFLAGS #$DLDFLAGS #$ARCH_FLAG
LDSHARED = #{CONFIG['LDSHARED']}
@@ -1096,6 +1101,7 @@ SRCS = #{srcs.collect(&File.method(:basename)).join(' ')}
OBJS = #{$objs}
TARGET = #{target}
DLLIB = #{dllib}
+EXTSTATIC = #{$default_static != $static && $static || ""}
STATIC_LIB = #{staticlib unless $static.nil?}
}
@@ -1269,6 +1275,7 @@ site-install-rb: install-rb
headers.each {|h| h.sub!(/.*/) {|*m| RULE_SUBST % m}}
end
headers << $config_h if $config_h
+ headers << "$(RUBY_EXTCONF_H)" if $extconf_h
mfile.print "$(OBJS): ", headers.join(' '), "\n"
end
@@ -1282,11 +1289,12 @@ def init_mkmf(config = CONFIG)
$arg_config = []
$enable_shared = config['ENABLE_SHARED'] == 'yes'
$defs = []
+ $extconf_h = nil
$CFLAGS = with_config("cflags", arg_config("CFLAGS", config["CFLAGS"])).dup
$ARCH_FLAG = with_config("arch_flag", arg_config("ARCH_FLAG", config["ARCH_FLAG"])).dup
$CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup
$LDFLAGS = (with_config("ldflags") || "").dup
- $INCFLAGS = "-I$(topdir)"
+ $INCFLAGS = "-I$(topdir) -I$(hdrdir) -I$(srcdir)"
$DLDFLAGS = with_config("dldflags", arg_config("DLDFLAGS", config["DLDFLAGS"])).dup
$LIBEXT = config['LIBEXT'].dup
$OBJEXT = config["OBJEXT"].dup
@@ -1377,10 +1385,10 @@ COMMON_LIBS = config_string('COMMON_LIBS', &split) || []
COMPILE_RULES = config_string('COMPILE_RULES', &split) || %w[.%s.%s:]
RULE_SUBST = config_string('RULE_SUBST')
-COMPILE_C = config_string('COMPILE_C') || '$(CC) $(CFLAGS) $(CPPFLAGS) -c $<'
-COMPILE_CXX = config_string('COMPILE_CXX') || '$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<'
+COMPILE_C = config_string('COMPILE_C') || '$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<'
+COMPILE_CXX = config_string('COMPILE_CXX') || '$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<'
TRY_LINK = config_string('TRY_LINK') ||
- "$(CC) #{OUTFLAG}conftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS) " \
+ "$(CC) #{OUTFLAG}conftest $(INCFLAGS) $(CPPFLAGS) " \
"$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)"
LINK_SO = config_string('LINK_SO') ||
if CONFIG["DLEXT"] == $OBJEXT
@@ -1399,7 +1407,7 @@ clean:
@-$(RM) $(CLEANLIBS#{sep}) $(CLEANOBJS#{sep}) $(CLEANFILES#{sep})
distclean: clean
- @-$(RM) Makefile extconf.h conftest.* mkmf.log
+ @-$(RM) Makefile #{$extconf_h} conftest.* mkmf.log
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES#{sep})
realclean: distclean
diff --git a/ruby.h b/ruby.h
index e17749f1ea6..3dd29567a81 100644
--- a/ruby.h
+++ b/ruby.h
@@ -22,6 +22,9 @@ extern "C" {
#endif
#include "config.h"
+#ifdef RUBY_EXTCONF_H
+#include RUBY_EXTCONF_H
+#endif
#define NORETURN_STYLE_NEW 1
#ifndef NORETURN
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 381fad83076..d1af7fde47c 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -447,8 +447,8 @@ s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),
s,@LINK_SO@,$(MANIFESTTOOL) -manifest $$(@).manifest -outputresource:$$(@);2,;t t
s,@LINK_SO@,@$$(RM) $$(@:/=\).manifest,;t t
!endif
-s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
-s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
+s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
+s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
s,@RULE_SUBST@,{.;$$(srcdir);$$(topdir);$$(hdrdir)}%s,;t t
s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
diff --git a/wince/Makefile.sub b/wince/Makefile.sub
index f7a88752d6c..728bc1311a3 100644
--- a/wince/Makefile.sub
+++ b/wince/Makefile.sub
@@ -412,8 +412,8 @@ s,@LIBPATHFLAG@, -libpath:"%s",;t t
s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
-s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
-s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
+s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
+s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
s,@RULE_SUBST@,{.;$$(srcdir);$$(topdir);$$(hdrdir)}%s,;t t
s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t