xref: /petsc/makefile (revision d7f8d6469368c63d07a4c9be437feff2608c23c3)
111b6ed10SLois Curfman McInnes#
2cfd69a58SBarry Smith# This is the makefile for installing PETSc. See the file
3cfd69a58SBarry Smith# Installation for directions on installing PETSc.
4cfd69a58SBarry Smith# See also bmake/common for additional commands.
511b6ed10SLois Curfman McInnes#
611b6ed10SLois Curfman McInnes
772035b96SSatish Balay#PETSC_DIR = .
861523587SBarry Smith
9ab94cc7aSSatish BalayCFLAGS	 =
1061523587SBarry SmithSOURCEC	 =
1161523587SBarry SmithSOURCEF	 =
125eea60f9SBarry SmithDOCS	 = Changes Machines Readme maint/addlinks \
1343a90d84SBarry Smith	   maint/builddist FAQ Installation BugReporting\
14deb7fc1cSBarry Smith	   maint/buildlinks maint/wwwman maint/xclude maint/crontab\
15630a6785SBarry Smith	   bmake/common bmake/*/base* maint/autoftp docs/www/sec/* \
16630a6785SBarry Smith           include/finclude/generateincludes bin/petscviewinfo.text \
17630a6785SBarry Smith           bin/petscoptsinfo.text
1861523587SBarry SmithOBJSC	 =
1961523587SBarry SmithOBJSF	 =
2061523587SBarry SmithLIBBASE	 = libpetscvec
21b16a3bb1SBarry SmithDIRS	 = src include docs
2261523587SBarry Smith
234e627d3aSBarry Smithinclude $(PETSC_DIR)/bmake/$(PETSC_ARCH)/base
2461523587SBarry Smith
2511b6ed10SLois Curfman McInnes# Builds PETSc libraries for a given BOPT and architecture
267857610eSBarry Smithall: chkpetsc_dir
27511caf8eSSatish Balay	-$(RM) -f $(PDIR)/*
280b3634f8SBarry Smith	-@echo "Beginning to compile libraries in all directories"
2947794344SBarry Smith	-@echo "Using compiler: $(CC) $(COPTFLAGS)"
3047794344SBarry Smith	-@echo "-----------------------------------------"
31b14e8f29SBarry Smith	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
3247794344SBarry Smith	-@echo "-----------------------------------------"
33b14e8f29SBarry Smith	-@echo "Using configuration flags: $(CONF)"
3447794344SBarry Smith	-@echo "-----------------------------------------"
35b14e8f29SBarry Smith	-@echo "Using include paths: $(PETSC_INCLUDE)"
3647794344SBarry Smith	-@echo "-----------------------------------------"
37c2c9bc36SBarry Smith	-@echo "Using PETSc directory: $(PETSC_DIR)"
38c2c9bc36SBarry Smith	-@echo "Using PETSc arch: $(PETSC_ARCH)"
3947794344SBarry Smith	-@echo "========================================="
40e35bd481SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) \
41f3848965SBarry Smith	   ACTION=libfast  tree
42f88f42abSSatish Balay	-@cd $(PETSC_DIR)/src/sys/src ; \
43f88f42abSSatish Balay	$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) rs6000_time
444e04c1a0SBarry Smith	$(RANLIB) $(PDIR)/*.a
4529182d91SSatish Balay	-@#chmod g+w  $(PDIR)/*.a
460b3634f8SBarry Smith	-@echo "Completed building libraries"
4747794344SBarry Smith	-@echo "========================================="
480b3634f8SBarry Smith
490b3634f8SBarry Smith# Builds PETSc test examples for a given BOPT and architecture
50a9369724SSatish Balaytestexamples: chkopts
510b3634f8SBarry Smith	-@echo "Beginning to compile and run test examples"
5247794344SBarry Smith	-@echo "Using compiler: $(CC) $(COPTFLAGS)"
5347794344SBarry Smith	-@echo "-----------------------------------------"
54b14e8f29SBarry Smith	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
5547794344SBarry Smith	-@echo "-----------------------------------------"
56b14e8f29SBarry Smith	-@echo "Using include paths: $(PETSC_INCLUDE)"
5747794344SBarry Smith	-@echo "-----------------------------------------"
58c2c9bc36SBarry Smith	-@echo "Using PETSc directory: $(PETSC_DIR)"
59c2c9bc36SBarry Smith	-@echo "Using PETSc arch: $(PETSC_ARCH)"
60c2c9bc36SBarry Smith	-@echo "------------------------------------------"
619c69534bSBarry Smith	-@echo "Using linker: $(CLINKER)"
629c69534bSBarry Smith	-@echo "Using libraries: $(PETSC_LIB)"
630b3634f8SBarry Smith	-@echo "------------------------------------------"
64eb817c50SBarry Smith	-@echo "Due to different numerical round-off on certain"
65eb817c50SBarry Smith	-@echo "machines some of the numbers may not match exactly."
6647794344SBarry Smith	-@echo "========================================="
670b3634f8SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) \
680b3634f8SBarry Smith	   ACTION=testexamples_1  tree
690b3634f8SBarry Smith	-@echo "Completed compiling and running test examples"
7047794344SBarry Smith	-@echo "========================================="
710b3634f8SBarry Smith
720b3634f8SBarry Smith# Builds PETSc test examples for a given BOPT and architecture
73a9369724SSatish Balaytestexamples_uni: chkopts
748475343bSBarry Smith	-@echo "Beginning to compile and run uniprocessor test examples"
7547794344SBarry Smith	-@echo "Using compiler: $(CC) $(COPTFLAGS)"
768475343bSBarry Smith	-@echo "Using linker: $(CLINKER)"
7747794344SBarry Smith	-@echo "------------------------------------------"
78b14e8f29SBarry Smith	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
7947794344SBarry Smith	-@echo "------------------------------------------"
80b14e8f29SBarry Smith	-@echo "Using include paths: $(PETSC_INCLUDE)"
8147794344SBarry Smith	-@echo "------------------------------------------"
82d6db1478SLois Curfman McInnes	-@echo "Using PETSc directory: $(PETSC_DIR)"
83d6db1478SLois Curfman McInnes	-@echo "Using PETSc arch: $(PETSC_ARCH)"
84d6db1478SLois Curfman McInnes	-@echo "------------------------------------------"
85d6db1478SLois Curfman McInnes	-@echo "Using linker: $(CLINKER)"
868475343bSBarry Smith	-@echo "Using libraries: $(PETSC_LIB)"
878475343bSBarry Smith	-@echo "------------------------------------------"
888475343bSBarry Smith	-@echo "Due to different numerical round-off on certain"
898475343bSBarry Smith	-@echo "machines some of the numbers may not match exactly."
9047794344SBarry Smith	-@echo "========================================="
918475343bSBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) \
928475343bSBarry Smith	   ACTION=testexamples_4  tree
938475343bSBarry Smith	-@echo "Completed compiling and running uniprocessor test examples"
9447794344SBarry Smith	-@echo "========================================="
958475343bSBarry Smith
9635ca7349SBarry Smith#
9711b6ed10SLois Curfman McInnes# Builds PETSc Fortran interface libary
9811b6ed10SLois Curfman McInnes# Note:	 libfast cannot run on .F files on certain machines, so we
9935ca7349SBarry Smith# use lib and check for errors here.
10083f0b094SBarry Smithfortran: chkpetsc_dir
101727c161cSBarry Smith	-$(RM) -f $(PDIR)/libpetscfortran.*
1020b3634f8SBarry Smith	-@echo "Beginning to compile Fortran interface library"
10326de76a5SSatish Balay	-@echo "Using Fortran compiler: $(FC) $(FFLAGS) $(FOPTFLAGS)"
10447794344SBarry Smith	-@echo "Using C/C++ compiler: $(CC) $(COPTFLAGS)"
10547794344SBarry Smith	-@echo "------------------------------------------"
106fc939babSLois Curfman McInnes	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
10747794344SBarry Smith	-@echo "------------------------------------------"
108fc939babSLois Curfman McInnes	-@echo "Using configuration flags: $(CONF)"
10947794344SBarry Smith	-@echo "------------------------------------------"
110fc939babSLois Curfman McInnes	-@echo "Using include paths: $(PETSC_INCLUDE)"
11147794344SBarry Smith	-@echo "------------------------------------------"
112d6db1478SLois Curfman McInnes	-@echo "Using PETSc directory: $(PETSC_DIR)"
113d6db1478SLois Curfman McInnes	-@echo "Using PETSc arch: $(PETSC_ARCH)"
11447794344SBarry Smith	-@echo "========================================="
115b16a3bb1SBarry Smith	-@cd src/fortran/custom; \
11635ca7349SBarry Smith	  $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) lib > trashz 2>&1; \
11735ca7349SBarry Smith	  grep -v clog trashz | grep -v "information sections" | \
11835ca7349SBarry Smith	  egrep -i '(Error|warning|Can)' >> /dev/null;\
11935ca7349SBarry Smith	  if [ "$$?" != 1 ]; then \
12035ca7349SBarry Smith	  cat trashz ; fi; $(RM) trashz
121b16a3bb1SBarry Smith	-@cd src/fortran/auto; \
12235ca7349SBarry Smith	  $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) libfast
12383f0b094SBarry Smith	$(RANLIB) $(PDIR)/libpetscfortran.a
12429182d91SSatish Balay	-@#chmod g+w  $(PDIR)/*.a
1250b3634f8SBarry Smith	-@echo "Completed compiling Fortran interface library"
12647794344SBarry Smith	-@echo "========================================="
12783f0b094SBarry Smith
128727c161cSBarry Smith# Builds PETSc test examples for a given BOPT and architecture
129a9369724SSatish Balaytestfortran: chkopts
130727c161cSBarry Smith	-@echo "Beginning to compile and run Fortran test examples"
131727c161cSBarry Smith	-@echo "Using compiler: $(FC) $(FFLAGS) $(FOPTFLAGS)"
132727c161cSBarry Smith	-@echo "Using linker: $(FLINKER)"
133727c161cSBarry Smith	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
13447794344SBarry Smith	-@echo "------------------------------------------"
135727c161cSBarry Smith	-@echo "Using PETSc directory: $(PETSC_DIR)"
136727c161cSBarry Smith	-@echo "Using PETSc arch: $(PETSC_ARCH)"
137727c161cSBarry Smith	-@echo "------------------------------------------"
138727c161cSBarry Smith	-@echo "Using linker: $(FLINKER)"
139727c161cSBarry Smith	-@echo "Using libraries: $(PETSC_FORTRAN_LIB) $(PETSC_LIB)"
14047794344SBarry Smith	-@echo "========================================="
141e4ef9893SBarry Smith	-@echo "Due to different numerical round-off on certain"
142e4ef9893SBarry Smith	-@echo "machines or the way Fortran formats numbers"
143e4ef9893SBarry Smith	-@echo "some of the results may not match exactly."
144e4ef9893SBarry Smith	-@echo "========================================="
145e4ef9893SBarry Smith	-@echo "On some machines you may get messages of the form"
146e4ef9893SBarry Smith	-@echo "PetscScalarAddressToFortran:C and Fortran arrays are"
147e4ef9893SBarry Smith	-@echo "not commonly aligned or are too far apart to be indexed"
148e4ef9893SBarry Smith	-@echo "by an integer. Locations: C xxxc Fortran xxxf"
149e4ef9893SBarry Smith	-@echo "Locations/sizeof(Scalar): C yyc Fortran yyf"
150e4ef9893SBarry Smith	-@echo "This indicates that you may not be able to use the"
151e4ef9893SBarry Smith	-@echo "PETSc routines VecGetArray() and MatGetArray() from Fortran"
152e4ef9893SBarry Smith	-@echo "========================================="
153727c161cSBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) \
154727c161cSBarry Smith	   ACTION=testexamples_3  tree
155727c161cSBarry Smith	-@echo "Completed compiling and running Fortran test examples"
15647794344SBarry Smith	-@echo "========================================="
157727c161cSBarry Smith
158b1f85764SBarry Smith#
159b1f85764SBarry Smith# Builds PETSc Fortran90 interface libary
160b1f85764SBarry Smith# Note:	 libfast cannot run on .F files on certain machines, so we
161b1f85764SBarry Smith# use lib and check for errors here.
162b1f85764SBarry Smith# Note: F90 interface currently only supported in NAG F90 compiler
163*d7f8d646SSatish Balayfortran90: chkpetsc_dir fortran
164b1f85764SBarry Smith	-@echo "Beginning to compile Fortran90 interface library"
165b1f85764SBarry Smith	-@echo "Using Fortran compiler: $(FC) $(FFLAGS) $(FOPTFLAGS)"
166b1f85764SBarry Smith	-@echo "Using C/C++ compiler: $(CC) $(COPTFLAGS)"
167b1f85764SBarry Smith	-@echo "------------------------------------------"
168b1f85764SBarry Smith	-@echo "Using PETSc flags: $(PETSCFLAGS) $(PCONF)"
169b1f85764SBarry Smith	-@echo "------------------------------------------"
170b1f85764SBarry Smith	-@echo "Using configuration flags: $(CONF)"
171b1f85764SBarry Smith	-@echo "------------------------------------------"
172b1f85764SBarry Smith	-@echo "Using include paths: $(PETSC_INCLUDE)"
173b1f85764SBarry Smith	-@echo "------------------------------------------"
174b1f85764SBarry Smith	-@echo "Using PETSc directory: $(PETSC_DIR)"
175b1f85764SBarry Smith	-@echo "Using PETSc arch: $(PETSC_ARCH)"
176b1f85764SBarry Smith	-@echo "========================================="
177b1f85764SBarry Smith	-@cd src/fortran/f90; \
178b1f85764SBarry Smith	  $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) lib > trashz 2>&1; \
179b1f85764SBarry Smith	  grep -v clog trashz | grep -v "information sections" | \
180b1f85764SBarry Smith	  egrep -i '(Error|warning|Can)' >> /dev/null;\
181b1f85764SBarry Smith	  if [ "$$?" != 1 ]; then \
182b1f85764SBarry Smith	  cat trashz ; fi; $(RM) trashz
183b1f85764SBarry Smith	$(RANLIB) $(PDIR)/libpetscfortran.a
18429182d91SSatish Balay	-@#chmod g+w  $(PDIR)/*.a
185b1f85764SBarry Smith	-@echo "Completed compiling Fortran90 interface library"
186b1f85764SBarry Smith	-@echo "========================================="
187b1f85764SBarry Smith
188b1f85764SBarry Smith
1898c37ef55SBarry Smithranlib:
1904e04c1a0SBarry Smith	$(RANLIB) $(PDIR)/*.a
19161523587SBarry Smith
19211b6ed10SLois Curfman McInnes# Deletes PETSc libraries
19361523587SBarry Smithdeletelibs:
1944e04c1a0SBarry Smith	-$(RM) -f $(PDIR)/*.a $(PDIR)/complex/* $(PDIR)/c++/*
195d44968ceSBarry Smith
196d44968ceSBarry Smith
19711b6ed10SLois Curfman McInnes# Deletes man pages (HTML version)
198b346654fSBarry Smithdeletewwwpages:
199dea827f2SLois Curfman McInnes	$(RM) -f $(PETSC_DIR)/docs/www/man*/* $(PETSC_DIR)/docs/www/www.cit \
200dea827f2SLois Curfman McInnes	         $(PETSC_DIR)/docs/www/man*.html
201b346654fSBarry Smith
20211b6ed10SLois Curfman McInnes# Deletes man pages (LaTeX version)
203b346654fSBarry Smithdeletelatexpages:
2047857610eSBarry Smith	$(RM) -f $(PETSC_DIR)/docs/tex/rsum/*sum*.tex
20520563c6bSBarry Smith
2067acb7333SLois Curfman McInnes# To access the tags in emacs, type M-x visit-tags-table and specify
2077acb7333SLois Curfman McInnes# the file petsc/TAGS.	Then, to move to where a PETSc function is
2087acb7333SLois Curfman McInnes# defined, enter M-. and the function name.  To search for a string
2097acb7333SLois Curfman McInnes# and move to the first occurrence, use M-x tags-search and the string.
2107acb7333SLois Curfman McInnes# To locate later occurrences, use M-,
2117acb7333SLois Curfman McInnes
212b38bb785SSatish BalayTAGS_INCLUDE_FILES  = include/*.h include/pinclude/*.h include/FINCLUDE/*.h
213b38bb785SSatish BalayTAGS_BMAKE_FILES    = bmake/common bmake/*/base*
214b38bb785SSatish BalayTAGS_EXAMPLE_FILES  = src/*/examples/*/*.[c,h,F,f] src/*/examples/*/*/*.[c,h,F,f] \
215b38bb785SSatish Balay	src/benchmarks/*.c src/contrib/*/examples/*/*.[c,h,F,f]
216b38bb785SSatish BalayTAGS_DOC_FILES      = docs/tex/manual/routin.tex docs/tex/manual/manual.tex \
217b38bb785SSatish Balay	docs/tex/manual/manual_tex.tex docs/tex/manual/intro.tex \
218b38bb785SSatish Balay	docs/tex/manual/part1.tex docs/tex/manual/part2.tex
2194431cf12SSatish BalayTAGS_SRC_FILES      = src/*/*.[c,h] src/*/interface/*.[c,h] src/*/src/*.[c,h] \
220b38bb785SSatish Balay	src/*/utils/*.[c,h] \
221b38bb785SSatish Balay	src/*/impls/*.[c,h] src/*/impls/*/*.[c,h] src/*/impls/*/*/*.[c,h] \
222b38bb785SSatish Balay	src/gvec/impls/*/*/*/*/*.[c,h] src/contrib/*/*.[c,h] src/contrib/*/src/*.[c,h] \
223b38bb785SSatish Balay	src/fortran/custom/*.[c,h,F]
224b38bb785SSatish BalayTAGS_MAKEFILE_FILES = include/makefile include/*/makefile \
225b38bb785SSatish Balay	makefile \
226b38bb785SSatish Balay	src/makefile src/*/makefile src/*/src/makefile \
227b38bb785SSatish Balay	src/*/interface/makefile \
228b38bb785SSatish Balay	src/*/utils/makefile \
229b38bb785SSatish Balay	src/*/impls/makefile src/*/impls/*/makefile src/*/impls/*/*/makefile \
230b38bb785SSatish Balay	src/*/examples/makefile src/*/examples/*/makefile src/*/examples/*/*/makefile \
231b38bb785SSatish Balay	src/gvec/impls/*/*/*/*/makefile src/gvec/impls/*/*/*/makefile \
232b38bb785SSatish Balay	src/fortran/*/makefile \
233b38bb785SSatish Balay	src/contrib/*/makefile src/contrib/*/src/makefile \
234b38bb785SSatish Balay	src/contrib/*/examples/makefile src/contrib/*/examples/*/makefile \
235b38bb785SSatish Balay	docs/makefile
236b38bb785SSatish Balay
23711b6ed10SLois Curfman McInnes# Builds all etags files
23811b6ed10SLois Curfman McInnesalletags:
2399ae7ee0fSLois Curfman McInnes	-make etags_complete
24011b6ed10SLois Curfman McInnes	-make etags
24111b6ed10SLois Curfman McInnes	-make etags_noexamples
24211b6ed10SLois Curfman McInnes	-make etags_makefiles
24311b6ed10SLois Curfman McInnes
24411b6ed10SLois Curfman McInnes# Builds the basic etags file.	This should be employed by most users.
24520563c6bSBarry Smithetags:
246edd2f0e1SBarry Smith	$(RM) TAGS
247b38bb785SSatish Balay	etags -f TAGS $(TAGS_INCLUDE_FILES)
248b38bb785SSatish Balay	etags -a -f TAGS $(TAGS_SRC_FILES)
249b38bb785SSatish Balay	etags -a -f TAGS $(TAGS_EXAMPLE_FILES)
250b38bb785SSatish Balay	etags -a -f TAGS $(TAGS_MAKEFILE_FILES)
251b38bb785SSatish Balay	etags -a -f TAGS $(TAGS_BMAKE_FILES)
25228988994SBarry Smith	chmod g+w TAGS
253bfce26a3SBarry Smith
25429cdf679SBarry Smith# Builds complete etags list; only for PETSc developers.
25529cdf679SBarry Smithetags_complete:
25629cdf679SBarry Smith	$(RM) TAGS_COMPLETE
2579ca56a1bSSatish Balay	etags -f TAGS_COMPLETE $(TAGS_SRC_FILES)
2589ca56a1bSSatish Balay	etags -a -f TAGS_COMPLETE $(TAGS_INCLUDE_FILES)
259b38bb785SSatish Balay	etags -a -f TAGS_COMPLETE $(TAGS_EXAMPLE_FILES)
260b38bb785SSatish Balay	etags -a -f TAGS_COMPLETE $(TAGS_MAKEFILE_FILES)
261b38bb785SSatish Balay	etags -a -f TAGS_COMPLETE $(TAGS_BMAKE_FILES)
262b38bb785SSatish Balay	etags -a -f TAGS_COMPLETE $(TAGS_DOC_FILES)
26329cdf679SBarry Smith	chmod g+w TAGS_COMPLETE
26429cdf679SBarry Smith
26511b6ed10SLois Curfman McInnes# Builds the etags file that excludes the examples directories
266bfce26a3SBarry Smithetags_noexamples:
267bfce26a3SBarry Smith	$(RM) TAGS_NO_EXAMPLES
2689ca56a1bSSatish Balay	etags -f TAGS_NO_EXAMPLES $(TAGS_SRC_FILES)
2699ca56a1bSSatish Balay	etags -a -f TAGS_NO_EXAMPLES $(TAGS_INCLUDE_FILES)
270b38bb785SSatish Balay	etags -a -f TAGS_NO_EXAMPLES $(TAGS_MAKEFILE_FILES)
271b38bb785SSatish Balay	etags -a -f TAGS_NO_EXAMPLES $(TAGS_BMAKE_FILES)
272b38bb785SSatish Balay	etags -a -f TAGS_NO_EXAMPLES $(TAGS_DOC_FILES)
273bfce26a3SBarry Smith	chmod g+w TAGS_NO_EXAMPLES
274b16a3bb1SBarry Smith
27511b6ed10SLois Curfman McInnes# Builds the etags file for makefiles
276b16a3bb1SBarry Smithetags_makefiles:
277b16a3bb1SBarry Smith	$(RM) TAGS_MAKEFILES
278b38bb785SSatish Balay	etags -f TAGS_MAKEFILES $(TAGS_MAKEFILE_FILES)
279b38bb785SSatish Balay	etags -a -f TAGS_MAKEFILES $(TAGS_BMAKE_FILES)
280b16a3bb1SBarry Smith	chmod g+w TAGS_MAKEFILES
28111b6ed10SLois Curfman McInnes
282b38bb785SSatish Balay#
283b38bb785SSatish Balay# ctags builds the tags file required for VI.
284b38bb785SSatish Balay# To use the tags file do the following:
285b38bb785SSatish Balay# 1. within vi invole the command - :set tags=/home/bsmith/petsc/tags
286b38bb785SSatish Balay#    or add  the command to your ~/.exrc file - set tags=/home/bsmith/petsc/tags
287b38bb785SSatish Balay# 2. now to go to a tag do - :tag TAGNAME for eg - :tag MatCreate
288b38bb785SSatish Balay#
289b38bb785SSatish Balayctags:
290b38bb785SSatish Balay	$(RM) tags
291b8319b70SSatish Balay	ctags -w -f tags $(TAGS_INCLUDE_FILES)
292b8319b70SSatish Balay	ctags -w -a -f tags $(TAGS_SRC_FILES)
293b38bb785SSatish Balay	ctags -w -a -f tags $(TAGS_EXAMPLE_FILES)
294b38bb785SSatish Balay	ctags -w -a -f tags $(TAGS_MAKEFILE_FILES)
295b38bb785SSatish Balay	ctags -w -a -f tags $(TAGS_BMAKE_FILES)
296b38bb785SSatish Balay	chmod g+w tags
297b38bb785SSatish Balay
29811b6ed10SLois Curfman McInnes# ------------------------------------------------------------------
29911b6ed10SLois Curfman McInnes#
30011b6ed10SLois Curfman McInnes# All remaining actions are intended for PETSc developers only.
30111b6ed10SLois Curfman McInnes# PETSc users should not generally need to use these commands.
30211b6ed10SLois Curfman McInnes#
30311b6ed10SLois Curfman McInnes
30411b6ed10SLois Curfman McInnes# Builds all versions of the man pages
305956e605aSBarry Smithallmanpages: allwwwpages alllatexpages
306dea827f2SLois Curfman McInnesallwwwpages: deletewwwpages
307299192b9SLois Curfman McInnes	-make ACTION=wwwpages_buildcite tree
308c3e30b67SBarry Smith	-cd src/fortran/custom; make wwwpages_buildcite
309c3e30b67SBarry Smith	-cd src/fortran/custom; make wwwpages
310dea827f2SLois Curfman McInnes	-make ACTION=wwwpages tree
311dea827f2SLois Curfman McInnes	-maint/wwwman
3129921e35aSSatish Balay	-maint/examplesindex.tcl -www
313f8cfbf3fSSatish Balay	-maint/htmlkeywords.tcl
31451c61065SBarry Smith	-@chmod g+w docs/www/man*/*
315416022c9SBarry Smithalllatexpages: deletelatexpages
316416022c9SBarry Smith	-make ACTION=latexpages tree
317c3e30b67SBarry Smith	-cd src/fortran/custom; make latexpages
31851c61065SBarry Smith	-@chmod g+w docs/tex/rsum/*
319416022c9SBarry Smith
32011b6ed10SLois Curfman McInnes# Builds Fortran stub files
32111b6ed10SLois Curfman McInnesallfortranstubs:
32235aab85fSBarry Smith	-@include/finclude/generateincludes
3234b0e389bSBarry Smith	-@$(RM) -f $(PETSC_DIR)/src/fortran/auto/*.c
32411b6ed10SLois Curfman McInnes	-make ACTION=fortranstubs tree
3254b0e389bSBarry Smith	chmod g+w $(PETSC_DIR)/src/fortran/auto/*.c
326f6ff2982SSatish Balay
327d55938c2SBarry Smithallci:
328d55938c2SBarry Smith	-@cd src/fortran/custom ; $(OMAKE) BOPT=$(BOPT) ci
329b951964fSBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) ACTION=ci  tree
330b951964fSBarry Smith
331d55938c2SBarry Smithallco:
332d55938c2SBarry Smith	-@cd src/fortran/custom ; $(OMAKE) BOPT=$(BOPT) co
333d55938c2SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) ACTION=co  tree
334d55938c2SBarry Smith
3355eea60f9SBarry Smithalladicignore:
3365eea60f9SBarry Smith	-@$(RM) $(PDIR)/adicignore
3375eea60f9SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) ACTION=adicignore  tree
3385eea60f9SBarry Smith
3396e81b665SBarry SmithCFLAGS   =  $(CPPFLAGS) $(CONF)
3406e81b665SBarry Smith
3415eea60f9SBarry Smithalladic:
3425eea60f9SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) ACTION=adic  tree
34347794344SBarry Smith	-@cd include ; \
344f218b1c0SBarry Smith           $(ADIC_CC) -s -f 1 $(CFLAGS) petsc.h
34547794344SBarry Smith	-@cd src/inline ; \
34647794344SBarry Smith            $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) adic
3476e81b665SBarry Smith
34847794344SBarry Smithalladiclib:
349f218b1c0SBarry Smith	-@$(RM) -f  $(PDIR)/*adic.a
35047794344SBarry Smith	-@$(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) ACTION=adiclib  tree
3515eea60f9SBarry Smith
352956e605aSBarry Smith#
353956e605aSBarry Smith#  We no longer make Unix manpages
354956e605aSBarry Smith#
355956e605aSBarry Smith#allunixmanpages:
356956e605aSBarry Smith#	-make ACTION=manpages tree
357956e605aSBarry Smith#	-cd src/fortran/custom; make manpages
358956e605aSBarry Smith#	-cd docs/man; catman -W .
359956e605aSBarry Smith#	-@chmod g+w docs/man/man*/*
360956e605aSBarry Smith# Deletes man pages (xman version)
361956e605aSBarry Smith#deletemanpages:
362956e605aSBarry Smith#	$(RM) -f $(PETSC_DIR)/Keywords $(PETSC_DIR)/docs/man/man*/*
363f6ff2982SSatish Balay
364