File: Makefile

package info (click to toggle)
mumps 5.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,632 kB
  • sloc: fortran: 455,990; ansic: 14,541; makefile: 684; xml: 527; f90: 181; sh: 130
file content (120 lines) | stat: -rw-r--r-- 3,449 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#
#  This file is part of MUMPS 5.8.2, released
#  on Mon Jan 12 15:17:08 UTC 2026
#
export VERSION   = 5.8.0
export SOVERSION = 5.8

topdir = .
libdir = $(topdir)/lib

default: d

.PHONY: default clean
.PHONY: all s d c z prerequisites libseqneeded
.PHONY: allshared sshared dshared cshared zshared prerequisitesshared libseqneededsharedlibseq sharedlibseq

all: prerequisites
	cd src; $(MAKE) all
	cd examples; $(MAKE) all

s: prerequisites
	cd src; $(MAKE) s
	cd examples; $(MAKE) s

d: prerequisites
	cd src; $(MAKE) d
	cd examples; $(MAKE) d

c: prerequisites
	cd src; $(MAKE) c
	cd examples; $(MAKE) c

z: prerequisites
	cd src; $(MAKE) z
	cd examples; $(MAKE) z


allshared: prerequisitesshared
	cd src; $(MAKE) allshared
	cd examples; $(MAKE) all

sshared: prerequisitesshared
	cd src; $(MAKE) sshared
	cd examples; $(MAKE) s

dshared: prerequisitesshared
	cd src; $(MAKE) dshared
	cd examples; $(MAKE) d

cshared: prerequisitesshared
	cd src; $(MAKE) cshared
	cd examples; $(MAKE) c

zshared: prerequisitesshared
	cd src; $(MAKE) zshared
	cd examples; $(MAKE) z


# Is Makefile.inc available ?
Makefile.inc:
	@echo "######################################################################"
	@echo "# BEFORE COMPILING MUMPS, YOU MUST HAVE AN APPROPRIATE Makefile.inc"
	@echo "# FILE AVAILABLE. PLEASE CHECK THE DIRECTORY ./Make.inc FOR EXAMPLES"
	@echo "# OF Makefile.inc FILES, AND USE Make.inc/Makefile.inc.generic IF YOU"
	@echo "# NEED TO BUILD A NEW ONE. SEE ALSO THE README AND INSTALL FILES"
	@echo "######################################################################"
	@exit 1

include Makefile.inc

prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT)

prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED)

# Rules for fake MPI library used to avoid using MPI:
#
# If $(LIBSEQNEEDED) is empty, prerequisitesshared includes a dependenecy on
# the sharedlibseq suffix dependency which we always satisfy

sharedlibseq:

libseqneeded:
	(cd libseq; $(MAKE) FPIC="$(FPIC_OPT)" )
	(cp libseq/lib* $(libdir))

libseqneededsharedlibseq:
	(cd libseq; $(MAKE) sharedlibmpiseq)
	(cp libseq/lib* $(libdir))

# Build the libpord.a library and copy it into $(topdir)/lib
$(libdir)/libpord$(PLAT)$(LIBEXT):
	if [ "$(LPORDDIR)" != "" ] ; then \
	  cd $(LPORDDIR); \
	  $(MAKE) CC="$(CC)" PLAT="$(PLAT)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT="$(LIBEXT)" LIBEXT_SHARED="$(LIBEXT_SHARED)" FPIC="$(FPIC_OPT)" libpord$(PLAT)$(LIBEXT) ; \
	fi;
	if [ "$(LPORDDIR)" != "" ] ; then \
	  cp $(LPORDDIR)/libpord$(PLAT)$(LIBEXT) $@; \
	fi;

$(libdir)/libpord$(PLAT)$(LIBEXT_SHARED):
	if [ "$(LPORDDIR)" != "" ] ; then \
	  cd $(LPORDDIR); \
	  $(MAKE) PLAT="$(PLAT)" FPIC="$(FPIC_OPT)" CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT="$(LIBEXT)" LIBEXT_SHARED="$(LIBEXT_SHARED)" libpord$(PLAT)$(LIBEXT_SHARED); \
	fi;
	if [ "$(LPORDDIR)" != "" ] ; then \
	  cp -P $(LPORDDIR)/libpord$(PLAT)*$(LIBEXT_SHARED) $(libdir); \
	fi;




clean:
	(cd src; $(MAKE) clean)
	(cd examples; $(MAKE) clean)
	(cd $(libdir); $(RM) lib*$(PLAT)$(LIBEXT) lib*$(PLAT)$(LIBEXT_SHARED))
	(cd libseq; $(MAKE) clean)
	if [ "$(LPORDDIR)" != "" ] ; then \
	  cd $(LPORDDIR); $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT="$(LIBEXT)" LIBEXT_SHARED="$(LIBEXT_SHARED)" PLAT="$(PLAT)" realclean; \
        fi;