xref: /petsc/makefile (revision b16a3bb15a65da75afb90758415d4d6dfcaf0620)
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
23fortran: chkpetsc_dir
24	-@cd src/fortran/custom; \
25          $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) libfast
26	-@cd src/fortran/auto; \
27          $(OMAKE) BOPT=$(BOPT) PETSC_ARCH=$(PETSC_ARCH) libfast
28	$(RANLIB) $(PDIR)/libpetscfortran.a
29
30ranlib:
31	$(RANLIB) $(PDIR)/*.a
32
33deletelibs:
34	-$(RM) -f $(PDIR)/*.a $(PDIR)/complex/* $(PDIR)/c++/*
35
36deletemanpages:
37	$(RM) -f $(PETSC_DIR)/Keywords $(PETSC_DIR)/docs/man/man*/*
38
39deletewwwpages:
40	$(RM) -f $(PETSC_DIR)/docs/www/man*/* $(PETSC_DIR)/docs/www/www.cit
41
42deletelatexpages:
43	$(RM) -f $(PETSC_DIR)/docs/tex/rsum/*sum*.tex
44
45allmanpages: deletemanpages deletewwwpages deletelatexpages
46	-make ACTION=manpages tree
47	-make ACTION=wwwpages tree
48	-make ACTION=latexpages tree
49	-maint/wwwman
50
51allfortranstubs:
52	-@$(RM) $(PETSC_DIR)/fortran/auto/*.c
53	-make ACTION=fortranstubs tree
54
55#  To access the tags in emacs, type M-x visit-tags-table and specify
56#  the file petsc/TAGS.  Then, to move to where a PETSc function is
57#  defined, enter M-. and the function name.  To search for a string
58#  and move to the first occurrence, use M-x tags-search and the string.
59#  To locate later occurrences, use M-,
60
61etags:
62	$(RM) TAGS
63	etags -f TAGS    src/*/impls/*/*.h src/*/impls/*/*/*.h
64	etags -a -f TAGS src/*/examples/*.c src/*/examples/*/*.c
65	etags -a -f TAGS src/*/*.h src/*/src/*.c src/*/impls/*/*.c
66	etags -a -f TAGS src/*/impls/*/*/*.c src/*/impls/*/*/*/*.c
67	etags -a -f TAGS include/*.h include/pinclude/*.h bmake/common
68	etags -a -f TAGS src/*/impls/*.c src/*/utils/*.c
69	etags -a -f TAGS makefile src/*/src/makefile src/makefile
70	etags -a -f TAGS src/*/impls/makefile src/*/impls/*/makefile
71	etags -a -f TAGS src/*/utils/makefile src/*/examples/makefile
72	etags -a -f TAGS src/*/makefile src/*/impls/*/*/makefile
73	etags -a -f TAGS bmake/common bmake/sun4/sun4* bmake/rs6000/rs6000*
74	etags -a -f TAGS bmake/solaris/solaris*
75	etags -a -f TAGS bmake/IRIX/IRIX* bmake/freebsd/freebsd*
76	etags -a -f TAGS bmake/hpux/hpux* bmake/alpha/alpha*
77	etags -a -f TAGS bmake/t3d/t3d* bmake/paragon/paragon*
78	etags -a -f TAGS docs/tex/routin.tex  docs/tex/manual.tex
79	etags -a -f TAGS docs/tex/intro.tex  docs/tex/part1.tex
80	chmod g+w TAGS
81
82etags_noexamples:
83	$(RM) TAGS_NO_EXAMPLES
84	etags -f TAGS_NO_EXAMPLES src/*/impls/*/*.h src/*/impls/*/*/*.h
85	etags -a -f TAGS_NO_EXAMPLES src/*/*.h src/*/src/*.c src/*/impls/*/*.c
86	etags -a -f TAGS_NO_EXAMPLES src/*/impls/*/*/*.c src/*/impls/*/*/*/*.c
87	etags -a -f TAGS_NO_EXAMPLES include/*.h include/pinclude/*.h
88	etags -a -f TAGS_NO_EXAMPLES  bmake/common
89	etags -a -f TAGS_NO_EXAMPLES src/*/impls/*.c src/*/utils/*.c
90	etags -a -f TAGS_NO_EXAMPLES makefile src/*/src/makefile src/makefile
91	etags -a -f TAGS_NO_EXAMPLES src/*/impls/makefile src/*/impls/*/makefile
92	etags -a -f TAGS_NO_EXAMPLES src/*/utils/makefile
93	etags -a -f TAGS_NO_EXAMPLES src/*/makefile src/*/impls/*/*/makefile
94	etags -a -f TAGS_NO_EXAMPLES bmake/common bmake/sun4/sun4*
95	etags -a -f TAGS_NO_EXAMPLES bmake/rs6000/rs6000*
96	etags -a -f TAGS_NO_EXAMPLES bmake/solaris/solaris*
97	etags -a -f TAGS_NO_EXAMPLES bmake/IRIX/IRIX* bmake/freebsd/freebsd*
98	etags -a -f TAGS_NO_EXAMPLES bmake/hpux/hpux* bmake/alpha/alpha*
99	etags -a -f TAGS_NO_EXAMPLES bmake/t3d/t3d* bmake/paragon/paragon*
100	etags -a -f TAGS_NO_EXAMPLES docs/tex/routin.tex  docs/tex/manual.tex
101	etags -a -f TAGS_NO_EXAMPLES docs/tex/intro.tex  docs/tex/part1.tex
102	chmod g+w TAGS_NO_EXAMPLES
103
104etags_makefiles:
105	$(RM) TAGS_MAKEFILES
106	etags -a -f TAGS_MAKEFILES bmake/common
107	etags -a -f TAGS_MAKEFILES makefile src/*/src/makefile src/makefile
108	etags -a -f TAGS_MAKEFILES src/*/impls/makefile src/*/impls/*/makefile
109	etags -a -f TAGS_MAKEFILES src/*/utils/makefile
110	etags -a -f TAGS_MAKEFILES src/*/makefile src/*/impls/*/*/makefile
111	etags -a -f TAGS_MAKEFILES bmake/common bmake/sun4/sun4*
112	etags -a -f TAGS_MAKEFILES bmake/rs6000/rs6000*
113	etags -a -f TAGS_MAKEFILES bmake/solaris/solaris*
114	etags -a -f TAGS_MAKEFILES bmake/IRIX/IRIX* bmake/freebsd/freebsd*
115	etags -a -f TAGS_MAKEFILES bmake/hpux/hpux* bmake/alpha/alpha*
116	etags -a -f TAGS_MAKEFILES bmake/t3d/t3d* bmake/paragon/paragon*
117	chmod g+w TAGS_MAKEFILES
118