1MPIDIR                  = @mpidir@
2MPIBINDIR               = @mpibindir@
3MPILIBDIR               = @mpilibdir@
4MPIINCDIR               = @mpiincdir@
5MPILIBS                 = @mpilibs@
6
7HECMWDIR                = ../../../../hecmw1
8HECMWBINDIR             = $(HECMWDIR)/bin
9HECMWLIBDIR             = $(HECMWDIR)/lib
10HECMWINCDIR             = $(HECMWDIR)/include
11HECMWLIBS               = @hecmwlibs@
12
13FSTRBINDIR              = ../../../bin
14FSTRLIBDIR              = ../../../lib
15FSTRINCDIR              = ../../../include
16FSTRLIBS                = @fstrlibs@
17
18REVOCAPDIR              = @revocapdir@
19REVOCAPINCDIR           = @revocapincdir@
20REVOCAPLIBDIR           = @revocaplibdir@
21REVOCAPLIBS             = @revocaplibs@
22
23CC                      = @cc@
24CFLAGS                  = @cflags@
25BASE_CFLAGS             = @base_cflags@
26MPI_CFLAGS              = @mpi_cflags@
27HECMW_CFLAGS            = @hecmw_cflags@
28FSTR_CFLAGS             = @fstr_cflags@
29ALL_CFLAGS              = $(BASE_CFLAGS) $(FSTR_CFLAGS) $(HECMW_CFLAGS) $(MPI_CFLAGS) $(CFLAGS)
30LDFLAGS                 = @ldflags@
31MPI_LDFLAGS             = @mpi_ldflags@
32HECMW_LDFLAGS           = @hecmw_ldflags@
33FSTR_LDFLAGS            = @fstr_ldflags@
34ALL_LDFLAGS             = $(FSTR_LDFLAGS) $(HECMW_LDFLAGS) $(MPI_LDFLAGS) $(LDFLAGS)
35OPTFLAGS                = @optflags@
36
37F90                     = @f90@
38F90FLAGS                = @f90flags@
39BASE_F90FLAGS           = @base_f90flags@
40MPI_F90FLAGS            = @mpi_f90flags@
41HECMW_F90FLAGS          = @hecmw_f90flags@
42FSTR_F90FLAGS           = @fstr_f90flags@
43ALL_F90FLAGS            = $(BASE_F90FLAGS) $(FSTR_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS)
44F90LDFLAGS              = @f90ldflags@
45MPI_F90LDFLAGS          = @mpi_f90ldflags@
46HECMW_F90LDFLAGS        = @hecmw_f90ldflags@
47FSTR_F90LDFLAGS         = @fstr_f90ldflags@
48ALL_F90LDFLAGS          = $(FSTR_F90LDFLAGS) $(HECMW_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS)
49F90OPTFLAGS             = @f90optflags@
50
51AR                      = @ar@
52CP                      = @cp@
53RM                      = @rm@
54RANLIB                  = @ranlib@
55MKDIR                   = @mkdir@
56
57#------------------------------------------------------------------------------#
58TARGET                  = @fstrlib_targetfile@
59F90TARGET               = @fstrlib_f90targetfile@
60
61F90MODULEPOSTFIX        = @f90modulepostfix@
62COBJFILEPOSTFIX         = @cobjfilepostfix@
63F90OBJFILEPOSTFIX       = @f90objfilepostfix@
64
65#------------------------------------------------------------------------------#
66.SUFFIXES:
67.SUFFIXES: .@cobjfilepostfix@ .@f90objfilepostfix@ .c .f90 .f
68
69.c.@cobjfilepostfix@:
70	$(CC) -c $(ALL_CFLAGS) $(OPTFLAGS) $< -o $@
71
72.f90.@f90objfilepostfix@:
73	$(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@
74
75.f.@f90objfilepostfix@:
76	$(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@
77
78#------------------------------------------------------------------------------#
79OBJS =
80
81OBJSF = \
82	material.@f90objfilepostfix@ \
83	mechgauss.@f90objfilepostfix@ \
84	ElasticLinear.@f90objfilepostfix@ \
85	Hyperelastic.@f90objfilepostfix@ \
86	Elastoplastic.@f90objfilepostfix@ \
87	Viscoelastic.@f90objfilepostfix@ \
88	creep.@f90objfilepostfix@ \
89	calMatMatrix.@f90objfilepostfix@
90
91HEADERS =
92
93#------------------------------------------------------------------------------#
94all: @build_target@
95
96@build_target@: $(TARGET) $(F90TARGET) install-module
97
98$(TARGET): $(OBJS)
99	$(AR) $(FSTRLIBDIR)/$@ $(OBJS)
100
101$(F90TARGET): $(OBJSF)
102	$(AR) $(FSTRLIBDIR)/$@ $(OBJSF)
103
104install-header:
105	$(CP) $(HEADERS) $(FSTRINCDIR)/.
106
107install-module:
108	$(CP) *.$(F90MODULEPOSTFIX) $(FSTRINCDIR)/.
109
110$(OBJS): $(HEADERS)
111
112$(OBJSF):
113
114install:
115
116clean:
117	$(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX)
118
119distclean: clean
120