1IPETSCDIR = . 2 3CFLAGS = $(OPT) -I$(IPETSCDIR)/include -I.. -I$(IPETSCDIR) $(CONF) 4SOURCEC = 5SOURCEF = 6SOURCEH = Changes Machines Readme maint/addlinks maint/buildtest \ 7 maint/builddist FAQ Installation Performance BugReporting\ 8 maint/buildlinks maint/wwwman maint/xclude maint/crontab\ 9 bmake/common bmake/*/*.* 10OBJSC = 11OBJSF = 12LIBBASE = libpetscvec 13DIRS = src include docs 14 15include $(IPETSCDIR)/bmake/$(PETSC_ARCH)/$(PETSC_ARCH) 16 17all: chkpetsc_dir 18 -$(RM) -f $(PDIR)/*.a 19 -@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) \ 20 ACTION=libfast tree 21 $(RANLIB) $(PDIR)/*.a 22 23# 24# libfast cannot run on .F files on certain machines thus we 25# use lib and check for errors here. 26# 27fortran: chkpetsc_dir 28 -@cd src/fortran/custom; \ 29 $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) lib > trashz 2>&1; \ 30 grep -v clog trashz | grep -v "information sections" | \ 31 egrep -i '(Error|warning|Can)' >> /dev/null;\ 32 if [ "$$?" != 1 ]; then \ 33 cat trashz ; fi; $(RM) trashz 34 -@cd src/fortran/auto; \ 35 $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) libfast 36 $(RANLIB) $(PDIR)/libpetscfortran.a 37 38ranlib: 39 $(RANLIB) $(PDIR)/*.a 40 41deletelibs: 42 -$(RM) -f $(PDIR)/*.a $(PDIR)/complex/* $(PDIR)/c++/* 43 44deletemanpages: 45 $(RM) -f $(PETSC_DIR)/Keywords $(PETSC_DIR)/docs/man/man*/* 46 47deletewwwpages: 48 $(RM) -f $(PETSC_DIR)/docs/www/man*/* $(PETSC_DIR)/docs/www/www.cit 49 50deletelatexpages: 51 $(RM) -f $(PETSC_DIR)/docs/tex/rsum/*sum*.tex 52 53allmanpages: deletemanpages deletewwwpages deletelatexpages 54 -make ACTION=manpages tree 55 -make ACTION=wwwpages tree 56 -make ACTION=latexpages tree 57 -maint/wwwman 58 59allfortranstubs: 60 -@$(RM) $(PETSC_DIR)/fortran/auto/*.c 61 -make ACTION=fortranstubs tree 62 63# To access the tags in emacs, type M-x visit-tags-table and specify 64# the file petsc/TAGS. Then, to move to where a PETSc function is 65# defined, enter M-. and the function name. To search for a string 66# and move to the first occurrence, use M-x tags-search and the string. 67# To locate later occurrences, use M-, 68 69etags: 70 $(RM) TAGS 71 etags -f TAGS src/*/impls/*/*.h src/*/impls/*/*/*.h 72 etags -a -f TAGS src/*/examples/*.c src/*/examples/*/*.c 73 etags -a -f TAGS src/*/*.h src/*/src/*.c src/*/impls/*/*.c 74 etags -a -f TAGS src/*/impls/*/*/*.c src/*/impls/*/*/*/*.c 75 etags -a -f TAGS include/*.h include/pinclude/*.h bmake/common 76 etags -a -f TAGS src/*/impls/*.c src/*/utils/*.c 77 etags -a -f TAGS makefile src/*/src/makefile src/makefile 78 etags -a -f TAGS src/*/impls/makefile src/*/impls/*/makefile 79 etags -a -f TAGS src/*/utils/makefile src/*/examples/makefile 80 etags -a -f TAGS src/*/makefile src/*/impls/*/*/makefile 81 etags -a -f TAGS bmake/common bmake/sun4/sun4* bmake/rs6000/rs6000* 82 etags -a -f TAGS bmake/solaris/solaris* 83 etags -a -f TAGS bmake/IRIX/IRIX* bmake/freebsd/freebsd* 84 etags -a -f TAGS bmake/hpux/hpux* bmake/alpha/alpha* 85 etags -a -f TAGS bmake/t3d/t3d* bmake/paragon/paragon* 86 etags -a -f TAGS docs/tex/routin.tex docs/tex/manual.tex 87 etags -a -f TAGS docs/tex/intro.tex docs/tex/part1.tex 88 chmod g+w TAGS 89 90etags_noexamples: 91 $(RM) TAGS_NO_EXAMPLES 92 etags -f TAGS_NO_EXAMPLES src/*/impls/*/*.h src/*/impls/*/*/*.h 93 etags -a -f TAGS_NO_EXAMPLES src/*/*.h src/*/src/*.c src/*/impls/*/*.c 94 etags -a -f TAGS_NO_EXAMPLES src/*/impls/*/*/*.c src/*/impls/*/*/*/*.c 95 etags -a -f TAGS_NO_EXAMPLES include/*.h include/pinclude/*.h 96 etags -a -f TAGS_NO_EXAMPLES bmake/common 97 etags -a -f TAGS_NO_EXAMPLES src/*/impls/*.c src/*/utils/*.c 98 etags -a -f TAGS_NO_EXAMPLES makefile src/*/src/makefile src/makefile 99 etags -a -f TAGS_NO_EXAMPLES src/*/impls/makefile src/*/impls/*/makefile 100 etags -a -f TAGS_NO_EXAMPLES src/*/utils/makefile 101 etags -a -f TAGS_NO_EXAMPLES src/*/makefile src/*/impls/*/*/makefile 102 etags -a -f TAGS_NO_EXAMPLES bmake/common bmake/sun4/sun4* 103 etags -a -f TAGS_NO_EXAMPLES bmake/rs6000/rs6000* 104 etags -a -f TAGS_NO_EXAMPLES bmake/solaris/solaris* 105 etags -a -f TAGS_NO_EXAMPLES bmake/IRIX/IRIX* bmake/freebsd/freebsd* 106 etags -a -f TAGS_NO_EXAMPLES bmake/hpux/hpux* bmake/alpha/alpha* 107 etags -a -f TAGS_NO_EXAMPLES bmake/t3d/t3d* bmake/paragon/paragon* 108 etags -a -f TAGS_NO_EXAMPLES docs/tex/routin.tex docs/tex/manual.tex 109 etags -a -f TAGS_NO_EXAMPLES docs/tex/intro.tex docs/tex/part1.tex 110 chmod g+w TAGS_NO_EXAMPLES 111 112etags_makefiles: 113 $(RM) TAGS_MAKEFILES 114 etags -a -f TAGS_MAKEFILES bmake/common 115 etags -a -f TAGS_MAKEFILES makefile src/*/src/makefile src/makefile 116 etags -a -f TAGS_MAKEFILES src/*/impls/makefile src/*/impls/*/makefile 117 etags -a -f TAGS_MAKEFILES src/*/utils/makefile 118 etags -a -f TAGS_MAKEFILES src/*/makefile src/*/impls/*/*/makefile 119 etags -a -f TAGS_MAKEFILES bmake/common bmake/sun4/sun4* 120 etags -a -f TAGS_MAKEFILES bmake/rs6000/rs6000* 121 etags -a -f TAGS_MAKEFILES bmake/solaris/solaris* 122 etags -a -f TAGS_MAKEFILES bmake/IRIX/IRIX* bmake/freebsd/freebsd* 123 etags -a -f TAGS_MAKEFILES bmake/hpux/hpux* bmake/alpha/alpha* 124 etags -a -f TAGS_MAKEFILES bmake/t3d/t3d* bmake/paragon/paragon* 125 chmod g+w TAGS_MAKEFILES 126