From 5adc1f02065840361a4f097ccc46446ffec5f211 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 23 Oct 2000 21:25:11 +0000 Subject: [PATCH] *** empty log message *** --- dtool/pptempl/Global.msvc.pp | 18 ++- dtool/pptempl/Template.msvc.pp | 239 ++++++++++++++++----------------- 2 files changed, 129 insertions(+), 128 deletions(-) diff --git a/dtool/pptempl/Global.msvc.pp b/dtool/pptempl/Global.msvc.pp index a0ffc4e29d..1a96a2165f 100644 --- a/dtool/pptempl/Global.msvc.pp +++ b/dtool/pptempl/Global.msvc.pp @@ -44,6 +44,14 @@ #end file #end decygwin +#define install_lib_dir $[decygwin %,%,$[install_lib_dir]] +#define install_bin_dir $[decygwin %,%,$[install_bin_dir]] +#define install_headers_dir $[decygwin %,%,$[install_headers_dir]] +#define install_data_dir $[decygwin %,%,$[install_data_dir]] +#define install_igatedb_dir $[decygwin %,%,$[install_igatedb_dir]] +#define install_config_dir $[decygwin %,%,$[install_config_dir]] +#define install_parser_inc_dir $[decygwin %,%,$[install_parser_inc_dir]] + // Define this if we want to make .sbr files. #defer BROWSEINFO_FLAG /Fr"$[osfilename $[target:%.obj=%.sbr]]" #defer CFLAGS_SHARED @@ -76,18 +84,16 @@ #defer interrogate_ipath $[decygwin %,-I"%",$[target_ipath]] #defer interrogate_spath $[decygwin %,-S"%",$[install_parser_inc_dir]] -#defer extra_cflags /nologo /W3 /EHsc /Zm250 /D_WINDOWS /DWIN32 /D_WINDLL /DSTRICT /DPENV_WIN32 /DWIN32_VC -#defer extra_so_ldflags /DLL /NOLOGO -#defer extra_bin_ldflags /NOLOGO +#defer extra_cflags /W3 /EHsc /Zm250 /DWIN32_VC /DWIN32 -#defer COMPILE_C cl /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[ipath]] $[flags] $[extra_cflags] $[source] +#defer COMPILE_C cl /nologo /c /Fo"$[osfilename $[target]]" $[decygwin %,/I"%",$[ipath]] $[flags] $[extra_cflags] $[source] #defer COMPILE_C++ $[COMPILE_C] #defer STATIC_LIB_C lib /nologo $[sources] /OUT:"$[osfilename $[target]]" #defer STATIC_LIB_C++ $[STATIC_LIB_C] -#defer SHARED_LIB_C link $[LDFLAGS_OPT$[OPTIMIZE]] $[extra_so_ldflags] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" +#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" #defer SHARED_LIB_C++ $[SHARED_LIB_C] -#defer LINK_BIN_C link $[LDFLAGS_OPT$[OPTIMIZE]] $[extra_bin_ldflags] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" +#defer LINK_BIN_C link /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" #defer LINK_BIN_C++ $[LINK_BIN_C] diff --git a/dtool/pptempl/Template.msvc.pp b/dtool/pptempl/Template.msvc.pp index 53c9d7a17f..37a7fc5297 100644 --- a/dtool/pptempl/Template.msvc.pp +++ b/dtool/pptempl/Template.msvc.pp @@ -43,7 +43,7 @@ // This library is on a metalib, so we can't build it, but we // should build all the obj's that go into it. #set deferred_objs $[deferred_objs] \ - $[patsubst %.c %.cxx %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources] $[get_igateoutput]] + $[patsubst %.c %.cxx %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources] $[get_igateoutput]] #endif #end lib_target @@ -53,12 +53,12 @@ // $[bin_targets] the list of binaries. $[test_bin_targets] is the // list of binaries that are to be built only when specifically asked // for. -#define lib_targets $[patsubst %,$[so_dir]/lib%$[dllext].dll,$[TARGET(metalib_target noinst_lib_target)] $[real_lib_targets]] -#define static_lib_targets $[TARGET(static_lib_target):%=$[st_dir]/lib%$[dllext].lib] +#define lib_targets $[patsubst %,$[so_dir]\lib%$[dllext].dll,$[TARGET(metalib_target noinst_lib_target)] $[real_lib_targets]] +#define static_lib_targets $[TARGET(static_lib_target):%=$[st_dir]\lib%$[dllext].lib] #define bin_targets \ - $[TARGET(bin_target noinst_bin_target):%=$[st_dir]/%.exe] \ - $[TARGET(sed_bin_target):%=$[st_dir]/%] -#define test_bin_targets $[TARGET(test_bin_target):%=$[st_dir]/%.exe] + $[TARGET(bin_target noinst_bin_target):%=$[st_dir]\%.exe] \ + $[TARGET(sed_bin_target):%=$[st_dir]\%] +#define test_bin_targets $[TARGET(test_bin_target):%=$[st_dir]\%.exe] // And these variables will define the various things we need to // install. @@ -121,11 +121,11 @@ // each directory named in the $[complete_local_libs], above, plus // whatever else the user might have explicitly named in // $[LOCAL_INCS]. -#defer complete_ipath $[all_libs $[RELDIR],$[complete_local_libs]] $[RELDIR($[LOCAL_INCS:%=%/])] +#defer complete_ipath $[all_libs $[RELDIR],$[complete_local_libs]] $[RELDIR($[LOCAL_INCS:%=%\])] // $[target_ipath] is the proper ipath to put on the command line, // from the context of a particular target. -#defer target_ipath $[other_trees:%=%/include] $[TOPDIR] $[sort $[complete_ipath]] $[get_ipath] +#defer target_ipath $[other_trees:%=%\include] $[TOPDIR] $[sort $[complete_ipath]] $[get_ipath] // $[file_ipath] is the ipath from the context of a particular source // file, given in $[file]. It uses the all_sources map to look up @@ -142,11 +142,11 @@ // $[complete_lpath] is rather like $[complete_ipath]: the list of // directories (from within this tree) we should add to our -L list. -#defer complete_lpath $[static_libs $[RELDIR:%=%/$[st_dir]],$[actual_local_libs]] $[dynamic_libs $[RELDIR:%=%/$[so_dir]],$[actual_local_libs]] +#defer complete_lpath $[static_libs $[RELDIR:%=%\$[st_dir]],$[actual_local_libs]] $[dynamic_libs $[RELDIR:%=%\$[so_dir]],$[actual_local_libs]] // $[lpath] is like $[target_ipath]: it's the list of directories we // should add to our -L list, from the context of a particular target. -#defer lpath $[other_trees:%=%/lib] $[sort $[complete_lpath]] $[get_lpath] +#defer lpath $[other_trees:%=%\lib] $[sort $[complete_lpath]] $[get_lpath] // And $[libs] is the set of libraries we will link with. #defer libs $[unique $[actual_local_libs:%=%$[dllext]] $[patsubst %:c,,%:m %,%$[dllext],$[OTHER_LIBS]] $[get_libs]] @@ -177,10 +177,10 @@ test : $[test_bin_targets] // It does assume that the odirs are not '.', however. clean : #if $[so_sources] - rm -rf $[so_dir] + rmdir /s /q $[so_dir] #endif #if $[st_sources] - rm -rf $[st_dir] + rmdir /s /q $[st_dir] #endif // 'cleanall' is not much more thorough than 'clean': At the moment, @@ -188,21 +188,21 @@ clean : // dependency cache file. cleanall : clean #if $[yxx_so_sources] $[yxx_st_sources] $[lxx_so_sources] $[lxx_st_sources] - rm -f $[patsubst %.yxx %.lxx,%.cxx,$[yxx_so_sources] $[yxx_st_sources] $[lxx_so_sources] $[lxx_st_sources]] + del /f $[patsubst %.yxx %.lxx,%.cxx,$[yxx_so_sources] $[yxx_st_sources] $[lxx_so_sources] $[lxx_st_sources]] #endif #if $[ne $[DEPENDENCY_CACHE_FILENAME],] - rm -f $[DEPENDENCY_CACHE_FILENAME] + del /f $[DEPENDENCY_CACHE_FILENAME] #endif // Now, 'install' and 'uninstall'. These simply copy files into the // install directory (or remove them). The 'install' rule also makes // the directories if necessary. #define installed_files \ - $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \ - $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \ - $[INSTALL_PARSER_INC:%=$[install_parser_inc_dir]/%] \ - $[INSTALL_DATA:%=$[install_data_dir]/%] \ - $[INSTALL_CONFIG:%=$[install_config_dir]/%] + $[INSTALL_SCRIPTS:%=$[install_bin_dir]\%] \ + $[INSTALL_HEADERS:%=$[install_headers_dir]\%] \ + $[INSTALL_PARSER_INC:%=$[install_parser_inc_dir]\%] \ + $[INSTALL_DATA:%=$[install_data_dir]\%] \ + $[INSTALL_CONFIG:%=$[install_config_dir]\%] #define install_targets \ $[sort \ @@ -217,11 +217,12 @@ cleanall : clean $[TARGET(metalib_target lib_target static_lib_target):%=install-lib%] \ $[TARGET(bin_target):%=install-%] \ $[installed_files] + install : all $[install_targets] uninstall : $[TARGET(metalib_target lib_target static_lib_target):%=uninstall-lib%] $[TARGET(bin_target):%=uninstall-%] #if $[installed_files] - rm -f $[sort $[installed_files]] + del /f $[sort $[installed_files]] #endif @@ -239,9 +240,8 @@ uninstall : $[TARGET(metalib_target lib_target static_lib_target):%=uninstall-li $[if $[install_config],$[install_config_dir]] \ $[if $[install_igatedb],$[install_igatedb_dir]] \ ] -$[directory] : - @test -d $[directory] || echo mkdir -p $[directory] - @test -d $[directory] || mkdir -p $[directory] +$[osfilename $[directory]] : + mkdir $[osfilename $[directory]] #end directory @@ -288,17 +288,17 @@ $[directory] : // component libraries. If it is nonempty, then we do need to // generate a module, and $[igatemout] is the name of the .cxx file // that interrogate will produce to make this module. -#define igatemscan $[components $[get_igatedb:%=$[RELDIR]/$[so_dir]/%],$[active_component_libs]] +#define igatemscan $[components $[get_igatedb:%=$[RELDIR]\$[so_dir]\%],$[active_component_libs]] #define igatemout $[if $[igatemscan],lib$[TARGET]_module.cxx] #if $[build_it] // Now output the rule to actually link the library from all of its // various .obj files. #define sources \ - $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources] $[igateoutput] $[igatemout]]] \ - $[components $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[RELDIR]/$[so_dir]/%.obj,%,,$[get_sources] $[get_igateoutput]]],$[active_component_libs]] -lib_$[TARGET]_so = $[sources] - #define target $[so_dir]/lib$[TARGET]$[dllext].dll + $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources] $[igateoutput] $[igatemout]]] \ + $[components $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[RELDIR]\$[so_dir]\%.obj,%,,$[get_sources] $[get_igateoutput]]],$[active_component_libs]] +lib_$[TARGET]_so = $[osfilename $[sources]] + #define target $[so_dir]\lib$[TARGET]$[dllext].dll #define sources $(lib_$[TARGET]_so) $[target] : $[sources] #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] @@ -312,31 +312,31 @@ $[target] : $[sources] // everything that goes along with it. #define installed_files \ $[if $[build_it], \ - $[install_lib_dir]/lib$[TARGET]$[dllext].dll \ - $[install_lib_dir]/lib$[TARGET]$[dllext].lib \ + $[install_lib_dir]\lib$[TARGET]$[dllext].dll \ + $[install_lib_dir]\lib$[TARGET]$[dllext].lib \ ] \ - $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \ - $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \ - $[INSTALL_DATA:%=$[install_data_dir]/%] \ - $[INSTALL_CONFIG:%=$[install_config_dir]/%] \ - $[igatedb:%=$[install_igatedb_dir]/%] + $[INSTALL_SCRIPTS:%=$[install_bin_dir]\%] \ + $[INSTALL_HEADERS:%=$[install_headers_dir]\%] \ + $[INSTALL_DATA:%=$[install_data_dir]\%] \ + $[INSTALL_CONFIG:%=$[install_config_dir]\%] \ + $[igatedb:%=$[install_igatedb_dir]\%] install-lib$[TARGET] : $[installed_files] uninstall-lib$[TARGET] : #if $[installed_files] - rm -f $[sort $[installed_files]] + del /f $[sort $[installed_files]] #endif -$[install_lib_dir]/lib$[TARGET]$[dllext].dll : $[so_dir]/lib$[TARGET]$[dllext].dll +$[install_lib_dir]\lib$[TARGET]$[dllext].dll : $[so_dir]\lib$[TARGET]$[dllext].dll #define local lib$[TARGET]$[dllext].dll #define dest $[install_lib_dir] - cd ./$[so_dir]; $[INSTALL] + copy $[so_dir]\$[local] $[dest] -$[install_lib_dir]/lib$[TARGET]$[dllext].lib : $[so_dir]/lib$[TARGET]$[dllext].lib +$[install_lib_dir]\lib$[TARGET]$[dllext].lib : $[so_dir]\lib$[TARGET]$[dllext].lib #define local lib$[TARGET]$[dllext].lib #define dest $[install_lib_dir] - cd ./$[so_dir]; $[INSTALL] + copy $[so_dir]\$[local] $[dest] #if $[igatescan] // Now, some additional rules to generate and compile the interrogate @@ -351,19 +351,19 @@ $[install_lib_dir]/lib$[TARGET]$[dllext].lib : $[so_dir]/lib$[TARGET]$[dllext].l #define igatemod $[TARGET] #endif -$[install_igatedb_dir]/$[igatedb] : $[so_dir]/$[igatedb] +$[install_igatedb_dir]\$[igatedb] : $[so_dir]\$[igatedb] #define local $[igatedb] #define dest $[install_igatedb_dir] - cd ./$[so_dir]; $[INSTALL] + copy $[so_dir]\$[local] $[dest] -lib$[TARGET]_igatescan = $[igatescan] -$[so_dir]/$[igatedb] $[so_dir]/$[igateoutput] : $[filter-out .c .cxx,$[igatescan]] - interrogate -od $[so_dir]/$[igatedb] -oc $[so_dir]/$[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan) +lib$[TARGET]_igatescan = $[osfilename $[igatescan]] +$[so_dir]\$[igatedb] $[so_dir]\$[igateoutput] : $[filter-out .c .cxx,$[igatescan]] + interrogate -od $[so_dir]\$[igatedb] -oc $[so_dir]\$[igateoutput] $[interrogate_options] -module "$[igatemod]" -library "$[igatelib]" $(lib$[TARGET]_igatescan) -#define target $[igateoutput:%.cxx=$[so_dir]/%.obj] -#define source $[so_dir]/$[igateoutput] +#define target $[igateoutput:%.cxx=$[so_dir]\%.obj] +#define source $[so_dir]\$[igateoutput] #define ipath . $[target_ipath] -#define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=-D%] +#define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%] $[target] : $[source] $[COMPILE_C++] #endif // $[igatescan] @@ -376,16 +376,16 @@ $[target] : $[source] #define igatelib lib$[TARGET] #define igatemod $[TARGET] -lib$[TARGET]_igatemscan = $[igatemscan] -#define target $[so_dir]/$[igatemout] +lib$[TARGET]_igatemscan = $[osfilename $[igatemscan]] +#define target $[so_dir]\$[igatemout] #define sources $(lib$[TARGET]_igatemscan) $[target] : $[sources] interrogate_module -oc $[target] -module "$[igatemod]" -library "$[igatelib]" -python $[sources] -#define target $[igatemout:%.cxx=$[so_dir]/%.obj] -#define source $[so_dir]/$[igatemout] +#define target $[igatemout:%.cxx=$[so_dir]\%.obj] +#define source $[so_dir]\$[igatemout] #define ipath . $[target_ipath] -#define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=-D%] +#define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%] $[target] : $[source] $[COMPILE_C++] #endif // $[igatescan] @@ -404,8 +404,8 @@ $[target] : $[source] ///////////////////////////////////////////////////////////////////// #forscopes noinst_lib_target -lib_$[TARGET]_so = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources]]] -#define target $[so_dir]/lib$[TARGET]$[dllext].dll +lib_$[TARGET]_so = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources]]]] +#define target $[so_dir]\lib$[TARGET]$[dllext].dll #define sources $(lib_$[TARGET]_so) $[target] : $[sources] #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] @@ -425,8 +425,8 @@ $[target] : $[sources] ///////////////////////////////////////////////////////////////////// #forscopes static_lib_target -lib_$[TARGET]_a = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] -#define target $[st_dir]/lib$[TARGET]$[dllext].lib +lib_$[TARGET]_a = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +#define target $[st_dir]\lib$[TARGET]$[dllext].lib #define sources $(lib_$[TARGET]_a) $[target] : $[sources] #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] @@ -436,23 +436,23 @@ $[target] : $[sources] #endif #define installed_files \ - $[install_lib_dir]/lib$[TARGET]$[dllext].lib \ - $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \ - $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \ - $[INSTALL_DATA:%=$[install_data_dir]/%] \ - $[INSTALL_CONFIG:%=$[install_config_dir]/%] + $[install_lib_dir]\lib$[TARGET]$[dllext].lib \ + $[INSTALL_SCRIPTS:%=$[install_bin_dir]\%] \ + $[INSTALL_HEADERS:%=$[install_headers_dir]\%] \ + $[INSTALL_DATA:%=$[install_data_dir]\%] \ + $[INSTALL_CONFIG:%=$[install_config_dir]\%] install-lib$[TARGET] : $[installed_files] uninstall-lib$[TARGET] : #if $[installed_files] - rm -f $[sort $[installed_files]] + del /f $[sort $[installed_files]] #endif -$[install_lib_dir]/lib$[TARGET]$[dllext].lib : $[st_dir]/lib$[TARGET]$[dllext].lib +$[install_lib_dir]\lib$[TARGET]$[dllext].lib : $[st_dir]\lib$[TARGET]$[dllext].lib #define local lib$[TARGET]$[dllext].lib #define dest $[install_lib_dir] - cd ./$[st_dir]; $[INSTALL] + copy $[st_dir]\$[local] $[dest] #end static_lib_target @@ -465,26 +465,26 @@ $[install_lib_dir]/lib$[TARGET]$[dllext].lib : $[st_dir]/lib$[TARGET]$[dllext].l ///////////////////////////////////////////////////////////////////// #forscopes sed_bin_target -#define target $[st_dir]/$[TARGET] +#define target $[st_dir]\$[TARGET] #define source $[SOURCE] $[target] : $[source] $[SED] $[COMMAND] $[source] >$[target] chmod +x $[target] #define installed_files \ - $[install_bin_dir]/$[TARGET] + $[install_bin_dir]\$[TARGET] install-$[TARGET] : $[installed_files] uninstall-$[TARGET] : #if $[installed_files] - rm -f $[sort $[installed_files]] + del /f $[sort $[installed_files]] #endif #define local $[TARGET] #define dest $[install_bin_dir] -$[install_bin_dir]/$[TARGET] : $[st_dir]/$[TARGET] - cd ./$[st_dir]; $[INSTALL_PROG] +$[install_bin_dir]\$[TARGET] : $[st_dir]\$[TARGET] + copy $[st_dir]\$[local] $[dest] #end sed_bin_target @@ -495,8 +495,8 @@ $[install_bin_dir]/$[TARGET] : $[st_dir]/$[TARGET] ///////////////////////////////////////////////////////////////////// #forscopes bin_target -bin_$[TARGET] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] -#define target $[st_dir]/$[TARGET].exe +bin_$[TARGET] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +#define target $[st_dir]\$[TARGET].exe #define sources $(bin_$[TARGET]) #define ld $[get_ld] $[target] : $[sources] @@ -513,23 +513,23 @@ $[target] : $[sources] #endif #define installed_files \ - $[install_bin_dir]/$[TARGET].exe \ - $[INSTALL_SCRIPTS:%=$[install_bin_dir]/%] \ - $[INSTALL_HEADERS:%=$[install_headers_dir]/%] \ - $[INSTALL_DATA:%=$[install_data_dir]/%] \ - $[INSTALL_CONFIG:%=$[install_config_dir]/%] + $[install_bin_dir]\$[TARGET].exe \ + $[INSTALL_SCRIPTS:%=$[install_bin_dir]\%] \ + $[INSTALL_HEADERS:%=$[install_headers_dir]\%] \ + $[INSTALL_DATA:%=$[install_data_dir]\%] \ + $[INSTALL_CONFIG:%=$[install_config_dir]\%] install-$[TARGET] : $[installed_files] uninstall-$[TARGET] : #if $[installed_files] - rm -f $[sort $[installed_files]] + del /f $[sort $[installed_files]] #endif -$[install_bin_dir]/$[TARGET].exe : $[st_dir]/$[TARGET].exe +$[install_bin_dir]\$[TARGET].exe : $[st_dir]\$[TARGET].exe #define local $[TARGET].exe #define dest $[install_bin_dir] - cd ./$[st_dir]; $[INSTALL_PROG] + copy $[st_dir]\$[local] $[dest] #end bin_target @@ -541,8 +541,8 @@ $[install_bin_dir]/$[TARGET].exe : $[st_dir]/$[TARGET].exe ///////////////////////////////////////////////////////////////////// #forscopes noinst_bin_target test_bin_target -bin_$[TARGET] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] -#define target $[st_dir]/$[TARGET] +bin_$[TARGET] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +#define target $[st_dir]\$[TARGET] #define sources $(bin_$[TARGET]) $[target] : $[sources] #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] @@ -567,8 +567,8 @@ $[target] : $[sources] #define source $[file] $[target] : $[source] $[BISON] $[YFLAGS] -y $[if $[YACC_PREFIX],-d --name-prefix=$[YACC_PREFIX]] $[source] - mv y.tab.c $[target] - mv y.tab.h $[patsubst %.yxx,%.h,$[source]] + move y.tab.c $[target] + move y.tab.h $[patsubst %.yxx,%.h,$[source]] #end file @@ -579,16 +579,16 @@ $[target] : $[source] $[target] : $[source] $[FLEX] $[LFLAGS] $[if $[YACC_PREFIX],-P$[YACC_PREFIX]] -olex.yy.c $[source] $[SED] '/#include /d' lex.yy.c > $[target] - rm lex.yy.c + del lex.yy.c #end file // Rules to compile ordinary C files that appear on a shared library. #foreach file $[sort $[c_so_sources]] -#define target $[patsubst %.c,$[so_dir]/%.obj,$[file]] +#define target $[patsubst %.c,$[so_dir]\%.obj,$[file]] #define source $[file] #define ipath $[file_ipath] -#define flags $[cflags] $[CFLAGS_SHARED] $[all_sources $[building_var:%=-D%],$[file]] +#define flags $[cflags] $[CFLAGS_SHARED] $[all_sources $[building_var:%=/D%],$[file]] $[target] : $[source] $[dependencies $[source]] $[COMPILE_C] @@ -597,10 +597,10 @@ $[target] : $[source] $[dependencies $[source]] // Rules to compile ordinary C files that appear on a static library // or in an executable. #foreach file $[sort $[c_st_sources]] -#define target $[patsubst %.c,$[st_dir]/%.obj,$[file]] +#define target $[patsubst %.c,$[st_dir]\%.obj,$[file]] #define source $[file] #define ipath $[file_ipath] -#define flags $[cflags] $[all_sources $[building_var:%=-D%],$[file]] +#define flags $[cflags] $[all_sources $[building_var:%=/D%],$[file]] $[target] : $[source] $[dependencies $[source]] $[COMPILE_C] @@ -608,10 +608,10 @@ $[target] : $[source] $[dependencies $[source]] // Rules to compile C++ files that appear on a shared library. #foreach file $[sort $[cxx_so_sources]] -#define target $[patsubst %.cxx,$[so_dir]/%.o,$[file]] +#define target $[patsubst %.cxx,$[so_dir]\%.obj,$[file]] #define source $[file] #define ipath $[file_ipath] -#define flags $[c++flags] $[CFLAGS_SHARED] +#define flags $[c++flags] $[CFLAGS_SHARED] $[all_sources $[building_var:%=/D%],$[file]] // Yacc must run before some files can be compiled, so all files // depend on yacc having run. $[target] : $[source] $[dependencies $[file]] $[yxx_so_sources:%.yxx=%.cxx] @@ -622,10 +622,10 @@ $[target] : $[source] $[dependencies $[file]] $[yxx_so_sources:%.yxx=%.cxx] // Rules to compile C++ files that appear on a static library or in an // executable. #foreach file $[sort $[cxx_st_sources]] -#define target $[patsubst %.cxx,$[st_dir]/%.o,$[file]] +#define target $[patsubst %.cxx,$[st_dir]\%.obj,$[file]] #define source $[file] #define ipath $[file_ipath] -#define flags $[c++flags] +#define flags $[c++flags] $[all_sources $[building_var:%=/D%],$[file]] $[target] : $[source] $[dependencies $[file]] $[yxx_st_sources:%.yxx=%.cxx] $[COMPILE_C++] @@ -633,10 +633,10 @@ $[target] : $[source] $[dependencies $[file]] $[yxx_st_sources:%.yxx=%.cxx] // Rules to compile generated C++ files that appear on a shared library. #foreach file $[sort $[yxx_so_sources] $[lxx_so_sources]] -#define target $[patsubst %.lxx %.yxx,$[so_dir]/%.o,$[file]] +#define target $[patsubst %.lxx %.yxx,$[so_dir]\%.obj,$[file]] #define source $[patsubst %.lxx %.yxx,%.cxx,$[file]] #define ipath $[file_ipath] -#define flags $[noopt_c++flags] $[CFLAGS_SHARED] +#define flags $[noopt_c++flags] $[CFLAGS_SHARED] $[all_sources $[building_var:%=/D%],$[file]] // Yacc must run before some files can be compiled, so all files // depend on yacc having run. $[target] : $[source] $[dependencies $[file]] $[yxx_so_sources:%.yxx=%.cxx] @@ -647,10 +647,10 @@ $[target] : $[source] $[dependencies $[file]] $[yxx_so_sources:%.yxx=%.cxx] // Rules to compile generated C++ files that appear on a static // library or in an executable. #foreach file $[sort $[yxx_st_sources] $[lxx_st_sources]] -#define target $[patsubst %.lxx %.yxx,$[st_dir]/%.o,$[file]] +#define target $[patsubst %.lxx %.yxx,$[st_dir]\%.obj,$[file]] #define source $[patsubst %.lxx %.yxx,%.cxx,$[file]] #define ipath $[file_ipath] -#define flags $[noopt_c++flags] +#define flags $[noopt_c++flags] $[all_sources $[building_var:%=/D%],$[file]] $[target] : $[source] $[dependencies $[file]] $[yxx_st_sources:%.yxx=%.cxx] $[COMPILE_C++] @@ -659,38 +659,38 @@ $[target] : $[source] $[dependencies $[file]] $[yxx_st_sources:%.yxx=%.cxx] // And now the rules to install the auxiliary files, like headers and // data files. #foreach file $[install_scripts] -$[install_bin_dir]/$[file] : $[file] +$[install_bin_dir]\$[file] : $[file] #define local $[file] #define dest $[install_bin_dir] - $[INSTALL_PROG] + copy $[local] $[dest] #end file #foreach file $[install_headers] -$[install_headers_dir]/$[file] : $[file] +$[install_headers_dir]\$[file] : $[file] #define local $[file] #define dest $[install_headers_dir] - $[INSTALL] + copy $[local] $[dest] #end file #foreach file $[install_parser_inc] -$[install_parser_inc_dir]/$[file] : $[file] +$[install_parser_inc_dir]\$[file] : $[file] #define local $[file] #define dest $[install_parser_inc_dir] - $[INSTALL] + copy $[local] $[dest] #end file #foreach file $[install_data] -$[install_data_dir]/$[file] : $[file] +$[install_data_dir]\$[file] : $[file] #define local $[file] #define dest $[install_data_dir] - $[INSTALL] + copy $[local] $[dest] #end file #foreach file $[install_config] -$[install_config_dir]/$[file] : $[file] +$[install_config_dir]\$[file] : $[file] #define local $[file] #define dest $[install_config_dir] - $[INSTALL] + copy $[local] $[dest] #end file @@ -748,46 +748,41 @@ all : $[subdirs] test : $[subdirs:%=test-%] clean : $[subdirs:%=clean-%] cleanall : $[subdirs:%=cleanall-%] -install : $[if $[CONFIG_HEADER],$[install_headers_dir] $[install_headers_dir]/$[CONFIG_HEADER]] $[subdirs:%=install-%] +install : $[if $[CONFIG_HEADER],$[install_headers_dir] $[install_headers_dir]\$[CONFIG_HEADER]] $[subdirs:%=install-%] uninstall : $[subdirs:%=uninstall-%] #if $[CONFIG_HEADER] - rm -f $[install_headers_dir]/$[CONFIG_HEADER] + del /f $[install_headers_dir]\$[CONFIG_HEADER] #endif -// Somehow, something in the cttools confuses some shells, so that -// when we are attached, 'cd foo' doesn't work, but 'cd ./foo' does. -// Weird. We get around this by putting a ./ in front of each cd -// target below. - #formap dirname subdirs #define depends $[dirname] : $[dirnames $[if $[build_directory],$[DIRNAME]],$[DEPEND_DIRS]] - cd ./$[PATH]; $(MAKE) all + cd $[osfilename $[PATH]] && $(MAKE) /nologo all #end dirname #formap dirname subdirs test-$[dirname] : - cd ./$[PATH]; $(MAKE) test + cd $[osfilename $[PATH]] && $(MAKE) /nologo test #end dirname #formap dirname subdirs clean-$[dirname] : - cd ./$[PATH]; $(MAKE) clean + cd $[osfilename $[PATH]] && $(MAKE) /nologo clean #end dirname #formap dirname subdirs cleanall-$[dirname] : - cd ./$[PATH]; $(MAKE) cleanall + cd $[osfilename $[PATH]] && $(MAKE) /nologo cleanall #end dirname #formap dirname subdirs install-$[dirname] : $[patsubst %,install-%,$[dirnames $[if $[build_directory],$[DIRNAME]],$[DEPEND_DIRS]]] - cd ./$[PATH]; $(MAKE) install + cd $[osfilename $[PATH]] && $(MAKE) /nologo install #end dirname #formap dirname subdirs uninstall-$[dirname] : - cd ./$[PATH]; $(MAKE) uninstall + cd $[osfilename $[PATH]] && $(MAKE) /nologo uninstall #end dirname #if $[ne $[CONFIG_HEADER],] @@ -795,10 +790,10 @@ $[install_headers_dir] : @test -d $[install_headers_dir] || echo mkdir -p $[install_headers_dir] @test -d $[install_headers_dir] || mkdir -p $[install_headers_dir] -$[install_headers_dir]/$[CONFIG_HEADER] : $[CONFIG_HEADER] +$[install_headers_dir]\$[CONFIG_HEADER] : $[CONFIG_HEADER] #define local $[CONFIG_HEADER] #define dest $[install_headers_dir] - $[INSTALL] + copy $[local] $[dest] #endif #end Makefile