diff --git a/dtool/pptempl/Depends.pp b/dtool/pptempl/Depends.pp index 7e45486545..31e3d1720f 100644 --- a/dtool/pptempl/Depends.pp +++ b/dtool/pptempl/Depends.pp @@ -28,11 +28,11 @@ Warning: Lib(s) $[nonexisting], referenced in $[DIRNAME]/$[TARGET], not found. #endif - #set DEPENDABLE_HEADERS $[DEPENDABLE_HEADERS] $[filter %.h %.I,$[all_sources]] + #set DEPENDABLE_HEADERS $[DEPENDABLE_HEADERS] $[filter %.h %.I %_src.cxx,$[all_sources]] #end metalib_target static_lib_target ss_lib_target lib_target noinst_lib_target bin_target noinst_bin_target #forscopes test_bin_target - #set DEPENDABLE_HEADERS $[DEPENDABLE_HEADERS] $[filter %.h %.I,$[all_sources]] + #set DEPENDABLE_HEADERS $[DEPENDABLE_HEADERS] $[filter %.h %.I %_src.cxx,$[all_sources]] #end test_bin_target // Allow the user to define additional EXTRA_DEPENDS targets in each diff --git a/dtool/pptempl/Global.pp b/dtool/pptempl/Global.pp index 0103688d60..38ab44b028 100644 --- a/dtool/pptempl/Global.pp +++ b/dtool/pptempl/Global.pp @@ -319,7 +319,7 @@ #defer get_igatescan \ $[if $[and $[run_interrogate],$[IGATESCAN]], \ $[if $[eq $[IGATESCAN], all], \ - $[filter-out %.I %.T %.lxx %.yxx %.N,$[get_sources]], \ + $[filter-out %.I %.T %.lxx %.yxx %.N %_src.cxx,$[get_sources]], \ $[IGATESCAN]]] // This variable returns the name of the interrogate database file diff --git a/dtool/pptempl/Template.gmsvc.pp b/dtool/pptempl/Template.gmsvc.pp index b73d0ba6c7..fc45f73931 100644 --- a/dtool/pptempl/Template.gmsvc.pp +++ b/dtool/pptempl/Template.gmsvc.pp @@ -54,7 +54,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 %_src.cxx,,%.c %.cxx %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources] $[get_igateoutput]] #endif #end lib_target @@ -103,8 +103,8 @@ #endif // And these are the various source files, extracted out by type. -#define cxx_so_sources $[filter %.cxx,$[so_sources]] -#define cxx_st_sources $[filter %.cxx,$[st_sources]] +#define cxx_so_sources $[filter_out %_src.cxx,$[filter %.cxx,$[so_sources]]] +#define cxx_st_sources $[filter_out %_src.cxx,$[filter %.cxx,$[st_sources]]] #define c_so_sources $[filter %.c,$[so_sources]] #define c_st_sources $[filter %.c,$[st_sources]] #define yxx_so_sources $[filter %.yxx,$[so_sources]] @@ -354,8 +354,8 @@ $[directory]/stamp : // 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]] + $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources] $[igateoutput] $[igatemout]]] \ + $[components $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[RELDIR]/$[so_dir]/%.obj,%,,$[get_sources] $[get_igateoutput]]],$[active_component_libs]] #define varname $[subst -,_,lib$[TARGET]_so] $[varname] = $[sources] #define target $[so_dir]/lib$[TARGET]$[dllext].$[dlllib] @@ -508,7 +508,7 @@ $[target] : $[source] $[so_dir]/stamp #forscopes noinst_lib_target #define varname $[subst -,_,lib$[TARGET]_so] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]/%.obj,%,,$[get_sources]]] #define target $[so_dir]/lib$[TARGET]$[dllext].$[dlllib] #define sources $($[varname]) $[target] : $[sources] $[so_dir]/stamp @@ -537,7 +537,7 @@ $[so_dir]/lib$[TARGET]$[dllext].pdb : $[so_dir]/lib$[TARGET]$[dllext].dll #forscopes static_lib_target ss_lib_target #define varname $[subst -,_,lib$[TARGET]_a] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] #define target $[st_dir]/lib$[TARGET]$[dllext].lib #define sources $($[varname]) $[target] : $[sources] $[st_dir]/stamp @@ -613,7 +613,7 @@ $[install_bin_dir]/$[TARGET] : $[st_dir]/$[TARGET] $[st_dir]/stamp $[TARGET] : $[st_dir]/$[TARGET].exe $[st_dir]/stamp #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] #define target $[st_dir]/$[TARGET].exe #define sources $($[varname]) #define ld $[get_ld] @@ -674,7 +674,7 @@ $[install_bin_dir]/$[TARGET].pdb : $[st_dir]/$[TARGET].pdb $[st_dir]/stamp $[TARGET] : $[st_dir]/$[TARGET].exe $[st_dir]/stamp #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.obj,%,,$[get_sources]]] #define target $[st_dir]/$[TARGET].exe #define sources $($[varname]) $[target] : $[sources] $[st_dir]/stamp diff --git a/dtool/pptempl/Template.msvc.pp b/dtool/pptempl/Template.msvc.pp index e886d5ffd2..c60e1163d4 100644 --- a/dtool/pptempl/Template.msvc.pp +++ b/dtool/pptempl/Template.msvc.pp @@ -59,7 +59,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 %_src.cxx,,%.c %.cxx %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources] $[get_igateoutput]] #endif #end lib_target @@ -108,8 +108,8 @@ #endif // And these are the various source files, extracted out by type. -#define cxx_so_sources $[filter %.cxx,$[so_sources]] -#define cxx_st_sources $[filter %.cxx,$[st_sources]] +#define cxx_so_sources $[filter_out %_src.cxx,$[filter %.cxx,$[so_sources]]] +#define cxx_st_sources $[filter_out %_src.cxx,$[filter %.cxx,$[st_sources]]] #define c_so_sources $[filter %.c,$[so_sources]] #define c_st_sources $[filter %.c,$[st_sources]] #define yxx_so_sources $[filter %.yxx,$[so_sources]] @@ -340,8 +340,8 @@ $[osfilename $[directory]] : // 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]] + $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources] $[igateoutput] $[igatemout]]] \ + $[components $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[RELDIR]\$[so_dir]\%.obj,%,,$[get_sources] $[get_igateoutput]]],$[active_component_libs]] #define varname $[subst -,_,lib$[TARGET]_so] $[varname] = $[osfilename $[sources]] #define target $[so_dir]\lib$[TARGET]$[dllext].$[dlllib] @@ -479,7 +479,7 @@ $[target] : $[source] #forscopes noinst_lib_target #define varname $[subst -,_,lib$[TARGET]_so] -$[varname] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources]]]] +$[varname] = $[osfilename $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]\%.obj,%,,$[get_sources]]]] #define target $[so_dir]\lib$[TARGET]$[dllext].$[dlllib] #define sources $($[varname]) $[target] : $[sources] @@ -508,7 +508,7 @@ $[so_dir]\lib$[TARGET]$[dllext].pdb : $[so_dir]\lib$[TARGET]$[dllext].dll #forscopes static_lib_target ss_lib_target #define varname $[subst -,_,lib$[TARGET]_a] -$[varname] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +$[varname] = $[osfilename $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] #define target $[st_dir]\lib$[TARGET]$[dllext].lib #define sources $($[varname]) $[target] : $[sources] @@ -583,7 +583,7 @@ $[install_bin_dir]\$[TARGET] : $[st_dir]\$[TARGET] $[TARGET] : $[st_dir]\$[TARGET].exe #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +$[varname] = $[osfilename $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] #define target $[st_dir]\$[TARGET].exe #define sources $($[varname]) #define ld $[get_ld] @@ -646,7 +646,7 @@ $[install_bin_dir]\$[TARGET].pdb : $[st_dir]\$[TARGET].pdb $[TARGET] : $[st_dir]\$[TARGET].exe #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[osfilename $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] +$[varname] = $[osfilename $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]\%.obj,%,,$[get_sources]]]] #define target $[st_dir]\$[TARGET].exe #define sources $($[varname]) $[target] : $[sources] diff --git a/dtool/pptempl/Template.unix.pp b/dtool/pptempl/Template.unix.pp index c84c32272e..dbdb9e16dd 100644 --- a/dtool/pptempl/Template.unix.pp +++ b/dtool/pptempl/Template.unix.pp @@ -76,8 +76,8 @@ #endif // And these are the various source files, extracted out by type. -#define cxx_so_sources $[filter %.cxx,$[so_sources]] -#define cxx_st_sources $[filter %.cxx,$[st_sources]] +#define cxx_so_sources $[filter_out %_src.cxx,$[filter %.cxx,$[so_sources]]] +#define cxx_st_sources $[filter_out %_src.cxx,$[filter %.cxx,$[st_sources]]] #define c_so_sources $[filter %.c,$[so_sources]] #define c_st_sources $[filter %.c,$[st_sources]] #define yxx_so_sources $[filter %.yxx,$[so_sources]] @@ -295,7 +295,7 @@ $[directory] : // Now output the rule to actually link the library from all of its // various .o files. #define varname $[subst -,_,lib$[TARGET]_so] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.o,%,,$[get_sources] $[igateoutput] $[igatemout]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]/%.o,%,,$[get_sources] $[igateoutput] $[igatemout]]] #define target $[so_dir]/lib$[TARGET].so #define sources $($[varname]) $[target] : $[sources] @@ -398,7 +398,7 @@ $[target] : $[source] #forscopes noinst_lib_target #define varname $[subst -,_,lib$[TARGET]_so] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[so_dir]/%.o,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[so_dir]/%.o,%,,$[get_sources]]] #define target $[so_dir]/lib$[TARGET].so #define sources $($[varname]) $[target] : $[sources] @@ -420,7 +420,7 @@ $[target] : $[sources] #forscopes static_lib_target #define varname $[subst -,_,lib$[TARGET]_a] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] #define target $[st_dir]/lib$[TARGET].a #define sources $($[varname]) $[target] : $[sources] @@ -499,7 +499,7 @@ $[install_bin_dir]/$[TARGET] : $[st_dir]/$[TARGET] $[TARGET] : $[st_dir]/$[TARGET] #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] #define target $[st_dir]/$[TARGET] #define sources $($[varname]) #define ld $[get_ld] @@ -548,7 +548,7 @@ $[install_bin_dir]/$[TARGET] : $[st_dir]/$[TARGET] $[TARGET] : $[st_dir]/$[TARGET] #define varname $[subst -,_,bin_$[TARGET]] -$[varname] = $[unique $[patsubst %.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] +$[varname] = $[unique $[patsubst %_src.cxx,,%.cxx %.c %.yxx %.lxx,$[st_dir]/%.o,%,,$[get_sources]]] #define target $[st_dir]/$[TARGET] #define sources $($[varname]) $[target] : $[sources]