124 |
|
ParallelTargetDir = $(DEV_ROOT)/MPIobj |
125 |
|
LibDir = $(DEV_ROOT)/lib |
126 |
|
MakeDir = $(DEV_ROOT)/make |
127 |
+ |
MainMakefile = $(MakeDir)/Makefile |
128 |
|
BinDir = $(DEV_ROOT)/bin |
129 |
|
DocsDir = $(DEV_ROOT)/docs |
130 |
|
CurrentDir = $(CURDIR) |
337 |
|
InstallScript = @INSTALL_SCRIPT@ |
338 |
|
InstallData = @INSTALL_DATA@ |
339 |
|
MkDir = @MKINSTALLDIRS@ |
340 |
< |
Delete = rm -fr |
340 |
> |
Delete = rm -f |
341 |
|
StaticArchiver = @AR@ |
342 |
|
DynamicArchiver = @CC@ |
343 |
|
FortranCompiler = @FC@ |
452 |
|
$(MkDir) $@ |
453 |
|
|
454 |
|
# .c -> .o |
455 |
< |
$(PackageTargetDir)/%.o : %.c |
455 |
> |
$(PackageTargetDir)/%.o : %.c $(MainMakefile) |
456 |
|
$(Print) $@ |
457 |
|
$(CCompiler) $(COptions) -c $(IncludePath) $< -o $@ |
458 |
|
|
459 |
< |
$(PackageParallelTargetDir)/%.o : %.c |
459 |
> |
$(PackageParallelTargetDir)/%.o : %.c $(MainMakefile) |
460 |
|
$(Print) $@ |
461 |
|
$(CCompiler) $(CParallelOptions) -c $(IncludePath) $< -o $@ |
462 |
|
|
463 |
|
ifeq "$(UseMPI)" "yes" |
464 |
< |
%.o : %.c |
464 |
> |
%.o : %.c $(MainMakefile) |
465 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
466 |
|
$(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@ |
467 |
|
else |
468 |
< |
%.o : %.c |
468 |
> |
%.o : %.c $(MainMakefile) |
469 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
470 |
|
endif |
471 |
|
|
472 |
|
# .cpp -> .o |
473 |
< |
$(PackageTargetDir)/%.o : %.cpp |
473 |
> |
$(PackageTargetDir)/%.o : %.cpp $(MainMakefile) |
474 |
|
$(CppCompiler) $(CppOptions) -c $(IncludePath) $< -o $@ |
475 |
|
|
476 |
< |
$(PackageParallelTargetDir)/%.o : %.cpp |
476 |
> |
$(PackageParallelTargetDir)/%.o : %.cpp $(MainMakefile) |
477 |
|
$(CppCompiler) $(CppParallelOptions) -c $(IncludePath) $< -o $@ |
478 |
|
|
479 |
|
ifeq "$(UseMPI)" "yes" |
480 |
< |
%.o : %.cpp |
480 |
> |
%.o : %.cpp $(MainMakefile) |
481 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
482 |
|
$(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@ |
483 |
|
else |
484 |
< |
%.o : %.cpp |
484 |
> |
%.o : %.cpp $(MainMakefile) |
485 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
486 |
|
endif |
487 |
|
|
488 |
|
# .f -> .o |
489 |
< |
$(PackageTargetDir)/%.o : %.f |
489 |
> |
$(PackageTargetDir)/%.o : %.f $(MainMakefile) |
490 |
|
$(FortranCompiler) $(FortranOptions) -c $< -o $@ |
491 |
|
|
492 |
< |
$(PackageParallelTargetDir)/%.o : %.f |
492 |
> |
$(PackageParallelTargetDir)/%.o : %.f $(MainMakefile) |
493 |
|
$(FortranCompiler) $(FortranParallelOptions) -c $< -o $@ |
494 |
|
|
495 |
|
ifeq "$(UseMPI)" "yes" |
496 |
< |
%.o : %.f |
496 |
> |
%.o : %.f $(MainMakefile) |
497 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
498 |
|
$(MAKE) $(MakeOptions) $(PackageParallelTargetDir)/$@ |
499 |
|
else |
500 |
< |
%.o : %.f |
500 |
> |
%.o : %.f $(MainMakefile) |
501 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
502 |
|
endif |
503 |
|
|
504 |
|
# .F90 -> .o |
505 |
< |
$(PackageTargetDir)/%.o : %.F90 |
505 |
> |
$(PackageTargetDir)/%.o : %.F90 $(MainMakefile) |
506 |
|
$(F90Compiler) $(F90Options) $(IncludePath) -c $< -o $@ |
507 |
|
if test -n "`ls *.$(ModSuffix)`"; then \ |
508 |
|
$(Move) `ls *.$(ModSuffix)` $(PackageTargetDir);\ |
509 |
|
fi |
510 |
|
|
511 |
< |
$(PackageParallelTargetDir)/%.o : %.F90 |
511 |
> |
$(PackageParallelTargetDir)/%.o : %.F90 $(MainMakefile) |
512 |
|
$(F90Compiler) $(F90ParallelOptions) $(IncludePath) -c $< -o $@ |
513 |
|
if test -n "`ls *.$(ModSuffix)`"; then \ |
514 |
|
$(Move) "`ls *.$(ModSuffix)`" $(PackageParallelTargetDir);\ |
515 |
|
fi |
516 |
|
|
517 |
|
ifeq "$(UseMPI)" "yes" |
518 |
< |
%.o : %.F90 |
518 |
> |
%.o : %.F90 $(MainMakefile) |
519 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
520 |
|
if test -n "`ls *.$(ModSuffix)`"; then\ |
521 |
|
$(Move) "`ls *.$(ModSuffix)`" $(PackageTargetDir);\ |
527 |
|
fi |
528 |
|
|
529 |
|
else |
530 |
< |
%.o : %.F90 |
530 |
> |
%.o : %.F90 $(MainMakefile) |
531 |
|
$(MAKE) $(MakeOptions) $(PackageTargetDir)/$@ |
532 |
|
if test -n "`ls *.$(ModSuffix)`"; then\ |
533 |
|
$(Move) "`ls *.$(ModSuffix)`" $(PackageTargetDir);\ |