/* cook.weps cookbook for WEPS directory structure access by cook */ manifest = ; /* all files in [subdirs] */ src_files = ; /* all Fortran src ".for" files */ inc_files = ; /* all include ("*.inc", "*.fi", & ".wat") files */ obj_files = ; /* all object ".o" or ".obj" files */ dep_files = ; /* all dependency ".d" or ".dep" files */ I1 = .inc; I2 = .fi; I3 = .wat; /* extract all files from [src_dirs] (one level deep) */ tmp = [src_dirs]; /* tmp variable for use in loop */ loop { tmp_dir = [head [tmp]]; if [not [tmp_dir]] then loopstop; /* remove first (word) from list each time through loop */ tmp = [tail [tmp]]; /* create manifest (list of all files) in [subdirs] */ manifest += [glob [tmp_dir]"/*"]; } /* extract all files from [inc_dirs] (one level deep) */ tmp = [inc_dirs]; /* tmp variable for use in loop */ loop { tmp_dir = [head [tmp]]; if [not [tmp_dir]] then loopstop; /* remove first (word) from list each time through loop */ tmp = [tail [tmp]]; /* create manifest (list of all files) in [subdirs] */ manifest += [glob [tmp_dir]"/*"]; } src_files = [match_mask %0%[F] [manifest] ]; inc_files = [match_mask %0%[I1] [manifest]]; inc_files += [match_mask %0%[I2] [manifest]]; inc_files += [match_mask %0%[I3] [manifest]]; obj_files = [fromto %0%[F] %0%[O] [src_files]]; dep_files = [addsuffix [D] [src_files] [inc_files]]; #include-cooked [dep_files] /* create variable for WEPS obj file list */ weps[E]_obj = [obj_files]; [BIN]/weps[E]_obj = [obj_files]; WEPS_obj = [obj_files];