*** empty log message ***

This commit is contained in:
David Rose 2000-11-11 04:19:19 +00:00
parent 6ef606cbc8
commit 4dce4fd946

View File

@ -24,18 +24,24 @@
#define pal_egg_dir pal_egg #define pal_egg_dir pal_egg
#define bam_dir bams #define bam_dir bams
#define soft_maps_dir soft_maps
#defer phase_prefix $[if $[PHASE],phase_$[PHASE]/] #defer phase_prefix $[if $[PHASE],phase_$[PHASE]/]
#defer install_model_dir $[install_dir]/$[phase_prefix]$[INSTALL_TO] #defer install_model_dir $[install_dir]/$[phase_prefix]$[INSTALL_TO]
#define filter_dirs $[TARGET_DIR(filter_egg optchar_egg)]
#define build_eggs $[sort $[SOURCES(flt_egg):%.flt=%.egg]] #define build_eggs $[sort \
#define install_eggs $[sort $[SOURCES(install_egg)]] $[SOURCES(flt_egg):%.flt=%.egg] \
$[forscopes soft_char_egg,$[POLY_MODEL:%=$[EGG_PREFIX]%.egg] $[NURBS_MODEL:%=$[EGG_PREFIX]%.egg]] \
$[forscopes soft_char_egg,$[ANIMS:%=$[EGG_PREFIX]%.egg]] \
]
#define install_eggs $[sort $[SOURCES(install_egg)] $[UNPAL_SOURCES(install_egg)]]
#define install_egg_dirs $[sort $[forscopes install_egg,$[install_model_dir]]] #define install_egg_dirs $[sort $[forscopes install_egg,$[install_model_dir]]]
#define installed_eggs $[sort $[forscopes install_egg,$[SOURCES:%=$[install_model_dir]/%]]] #define installed_eggs $[sort $[forscopes install_egg,$[SOURCES:%=$[install_model_dir]/%] $[UNPAL_SOURCES:%=$[install_model_dir]/%]]]
#define installed_bams $[sort $[forscopes install_egg,$[SOURCES:%.egg=$[install_model_dir]/%.bam]]] #define installed_bams $[sort $[forscopes install_egg,$[SOURCES:%.egg=$[install_model_dir]/%.bam] $[UNPAL_SOURCES:%.egg=$[install_model_dir]/%.bam]]]
#define pal_egg_targets $[install_eggs:%=$[pal_egg_dir]/%] #define pal_egg_targets $[sort $[SOURCES(install_egg):%=$[pal_egg_dir]/%]]
#define bam_targets $[install_eggs:%.egg=$[bam_dir]/%.bam] #define bam_targets $[install_eggs:%.egg=$[bam_dir]/%.bam]
#output Makefile #output Makefile
@ -46,12 +52,22 @@
#define all_targets \ #define all_targets \
Makefile \ Makefile \
$[texattrib_dir] \ $[texattrib_dir] \
$[filter_dirs] \
$[optchar_dirs] \
egg bam egg bam
all : $[all_targets] all : $[all_targets]
egg : $[build_eggs] #define egg_targets \
$[if $[POLY_MODEL(soft_char_egg)] $[NURBS_MODEL(soft_char_egg)],$[soft_maps_dir]] \
$[build_eggs]
egg : $[egg_targets]
pal : egg $[if $[pal_egg_targets],$[pal_egg_dir]] $[pal_egg_targets] #define filter_targets \
$[filter_dirs] \
$[forscopes install_egg,$[patsubst %,$[SOURCE_DIR:%=%/]%,$[SOURCES] $[UNPAL_SOURCES]]]
filter : egg $[filter_targets]
pal : filter $[if $[pal_egg_targets],$[pal_egg_dir]] $[pal_egg_targets]
bam : pal $[if $[bam_targets],$[bam_dir]] $[bam_targets] bam : pal $[if $[bam_targets],$[bam_dir]] $[bam_targets]
@ -79,15 +95,23 @@ clean-pal : clean-bam
clean : clean-pal clean : clean-pal
#if $[build_eggs] #if $[build_eggs]
rm -f $[build_eggs] rm -f $[build_eggs] $[install_eggs:%.egg=%.pt]
#endif
#if $[POLY_MODEL(soft_char_egg)] $[NURBS_MODEL(soft_char_egg)]
rm -rf $[soft_maps_dir]
#endif
#if $[filter_dirs]
rm -rf $[filter_dirs]
#endif #endif
// We need a rule for each directory we might need to make. This // We need a rule for each directory we might need to make. This
// loops through the full set of directories and creates a rule to // loops through the full set of directories and creates a rule to
// make each one, as needed. // make each one, as needed.
#foreach directory $[sort \ #foreach directory $[sort \
$[filter_dirs] \
$[if $[pal_egg_targets],$[pal_egg_dir]] \ $[if $[pal_egg_targets],$[pal_egg_dir]] \
$[if $[bam_targets],$[bam_dir]] \ $[if $[bam_targets],$[bam_dir]] \
$[if $[POLY_MODEL(soft_char_egg)] $[NURBS_MODEL(soft_char_egg)],$[soft_maps_dir]] \
$[texattrib_dir] \ $[texattrib_dir] \
$[install_egg_dirs] \ $[install_egg_dirs] \
] ]
@ -97,7 +121,7 @@ $[directory] :
#end directory #end directory
// Egg file generation. // Egg file generation from Flt files.
#forscopes flt_egg #forscopes flt_egg
#foreach flt $[SOURCES] #foreach flt $[SOURCES]
#define target $[flt:%.flt=%.egg] #define target $[flt:%.flt=%.egg]
@ -108,14 +132,76 @@ $[target] : $[source]
#end flt #end flt
#end flt_egg #end flt_egg
// Egg character model generation from Soft databases.
#forscopes soft_char_egg
#if $[POLY_MODEL]
#define target $[EGG_PREFIX]$[POLY_MODEL].egg
#define scene $[SCENE_PREFIX]$[MODEL].1-0.dsc
#define source $[DATABASE]/SCENES/$[scene]
$[target] : $[source]
soft2egg $[SOFT2EGG_OPTS] -p -M $[target] -N $[CHAR_NAME] -d $[DATABASE] -s $[scene] -t $[soft_maps_dir]
#endif
#if $[NURBS_MODEL]
#define target $[EGG_PREFIX]$[NURBS_MODEL].egg
#define scene $[SCENE_PREFIX]$[MODEL].1-0.dsc
#define source $[DATABASE]/SCENES/$[scene]
$[target] : $[source]
soft2egg $[SOFT2EGG_OPTS] -n -M $[target] -N $[CHAR_NAME] -d $[DATABASE] -s $[scene] -t $[soft_maps_dir]
#endif
#end soft_char_egg
// Egg animation generation from Soft database.
#forscopes soft_char_egg
#foreach anim $[ANIMS]
#define target $[EGG_PREFIX]$[anim].egg
#define scene $[SCENE_PREFIX]$[anim].1-0.dsc
#define source $[DATABASE]/SCENES/$[scene]
#define begin $[or $[$[anim]_b],1]
#define end $[$[anim]_e]
$[target] : $[source]
soft2egg $[SOFT2EGG_OPTS] -a -A $[target] -N $[CHAR_NAME] -d $[DATABASE] -s $[scene] $[begin:%=-b%] $[end:%=-e%]
#end anim
#end soft_char_egg
// Generic egg filters.
#forscopes filter_egg
#define source_prefix $[SOURCE_DIR:%=%/]
#foreach egg $[SOURCES]
#define source $[source_prefix]$[egg]
#define target $[TARGET_DIR]/$[egg]
$[target] : $[source] $[pt]
$[COMMAND]
#end egg
#end filter_egg
// Character optimization.
#forscopes optchar_egg
#define source_prefix $[SOURCE_DIR:%=%/]
#define sources $[SOURCES:%=$[source_prefix]%]
#define target $[TARGET_DIR]/$[notdir $[firstword $[SOURCES]]]
// A bunch of rules to make each generated egg file depend on the
// first one.
#foreach egg $[notdir $[wordlist 2,9999,$[SOURCES]]]
$[TARGET_DIR]/$[egg] : $[target]
touch $[TARGET_DIR]/$[egg]
#end egg
// And this is the actual optchar pass.
$[target] : $[sources]
egg-optchar $[OPTCHAR_OPTS] -d $[TARGET_DIR] $[sources]
#end optchar_egg
// Palettization rules. // Palettization rules.
#forscopes install_egg #forscopes install_egg
#foreach egg $[SOURCES] #foreach egg $[SOURCES]
#define pt $[egg:%.egg=%.pt] #define pt $[egg:%.egg=$[SOURCE_DIR]/%.pt]
#define source $[egg] #define source $[SOURCE_DIR]/$[egg]
#define target $[pal_egg_dir]/$[source] #define target $[pal_egg_dir]/$[egg]
$[target] : $[source] $[pt] $[build_eggs] $[target] : $[source] $[pt]
#if $[PHASE] #if $[PHASE]
egg-palettize-new -C -dm $[install_dir]/%s/maps -g phase_$[PHASE] -gdir phase_$[PHASE] -P256,256 -2 -o $[target] $[texattrib_file] $[source] egg-palettize-new -C -dm $[install_dir]/%s/maps -g phase_$[PHASE] -gdir phase_$[PHASE] -P256,256 -2 -o $[target] $[texattrib_file] $[source]
#else #else
@ -138,6 +224,13 @@ $[target] : $[source]
egg2bam -o $[target] $[source] egg2bam -o $[target] $[source]
#end egg #end egg
#foreach egg $[UNPAL_SOURCES]
#define source $[SOURCE_DIR]/$[egg]
#define target $[bam_dir]/$[egg:%.egg=%.bam]
$[target] : $[source]
egg2bam -o $[target] $[source]
#end egg
#end install_egg #end install_egg
@ -151,12 +244,20 @@ $[dest]/$[local] : $[sourcedir]/$[local]
cd ./$[sourcedir] && $[INSTALL] cd ./$[sourcedir] && $[INSTALL]
#end egg #end egg
#foreach egg $[UNPAL_SOURCES]
#define local $[egg]
#define sourcedir $[SOURCE_DIR]
#define dest $[install_model_dir]
$[dest]/$[local] : $[sourcedir]/$[local]
cd ./$[sourcedir] && $[INSTALL]
#end egg
#end install_egg #end install_egg
// Bam file installation. // Bam file installation.
#forscopes install_egg #forscopes install_egg
#foreach egg $[SOURCES] #foreach egg $[SOURCES] $[UNPAL_SOURCE]
#define local $[egg:%.egg=%.bam] #define local $[egg:%.egg=%.bam]
#define sourcedir $[bam_dir] #define sourcedir $[bam_dir]
#define dest $[install_model_dir] #define dest $[install_model_dir]