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
37REVOCAP_F90FLAGS        = @revocap_f90flags@
38REVOCAP_F90LDFLAGS      = @revocap_f90ldflags@
39
40F90                     = @f90@
41F90FLAGS                = @f90flags@
42BASE_F90FLAGS           = @base_f90flags@
43MPI_F90FLAGS            = @mpi_f90flags@
44HECMW_F90FLAGS          = @hecmw_f90flags@
45FSTR_F90FLAGS           = @fstr_f90flags@
46ALL_F90FLAGS            = $(BASE_F90FLAGS) $(FSTR_F90FLAGS) $(HECMW_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS) $(REVOCAP_F90FLAGS)
47F90LDFLAGS              = @f90ldflags@
48MPI_F90LDFLAGS          = @mpi_f90ldflags@
49HECMW_F90LDFLAGS        = @hecmw_f90ldflags@
50FSTR_F90LDFLAGS         = @fstr_f90ldflags@
51ALL_F90LDFLAGS          = $(FSTR_F90LDFLAGS) $(HECMW_F90LDFLAGS) $(MPI_F90LDFLAGS) $(F90LDFLAGS) $(REVOCAP_F90LDFLAGS)
52F90FPP                  = @f90fpp@
53F90OPTFLAGS             = @f90optflags@
54
55AR                      = @ar@
56CP                      = @cp@
57RM                      = @rm@
58RANLIB                  = @ranlib@
59MKDIR                   = @mkdir@
60
61#------------------------------------------------------------------------------#
62TARGET                  = @fstrlib_targetfile@
63F90TARGET               = @fstrlib_f90targetfile@
64
65F90MODULEPOSTFIX        = @f90modulepostfix@
66COBJFILEPOSTFIX         = @cobjfilepostfix@
67F90OBJFILEPOSTFIX       = @f90objfilepostfix@
68
69#------------------------------------------------------------------------------#
70.SUFFIXES:
71.SUFFIXES: .@cobjfilepostfix@ .@f90objfilepostfix@ .c .f90 .F90 .f
72
73.c.@cobjfilepostfix@:
74	$(CC) -c $(ALL_CFLAGS) $(OPTFLAGS) $< -o $@
75
76.f90.@f90objfilepostfix@:
77	$(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@
78
79.F90.@f90objfilepostfix@:
80	$(F90) -c $(ALL_F90FLAGS) $(F90FPP) $(F90OPTFLAGS) $< -o $@
81
82.f.@f90objfilepostfix@:
83	$(F90) -c $(ALL_F90FLAGS) $(F90OPTFLAGS) $< -o $@
84
85#------------------------------------------------------------------------------#
86OBJS = \
87	hecmw2fstr_connect_conv.@cobjfilepostfix@ \
88	fstr_ctrl_util.@cobjfilepostfix@ \
89	fstr_sort_index.@cobjfilepostfix@
90
91OBJSF = \
92	hecmw2fstr_mesh_conv.@f90objfilepostfix@ \
93	fstr_setup_util.@f90objfilepostfix@ \
94	fstr_ctrl_modifier.@f90objfilepostfix@ \
95	fstr_contact.@f90objfilepostfix@ \
96	fstr_ctrl_common.@f90objfilepostfix@ \
97	fstr_ctrl_material.@f90objfilepostfix@ \
98	fstr_ctrl_static.@f90objfilepostfix@ \
99	fstr_ctrl_heat.@f90objfilepostfix@ \
100	fstr_ctrl_eigen.@f90objfilepostfix@ \
101	fstr_ctrl_dynamic.@f90objfilepostfix@ \
102	fstr_get_prop.@f90objfilepostfix@ \
103	fstr_setup.@f90objfilepostfix@ \
104	fstr_debug_dump.@f90objfilepostfix@ \
105	fstr_precheck.@f90objfilepostfix@ \
106	fstr_rcap_io.@f90objfilepostfix@
107
108INCLUDESF = \
109	fstr_ctrl_util_f.inc
110
111HEADERS = \
112	hecmw2fstr_connect_conv.h \
113	fstr_ctrl_util.h \
114	fstr_sort_index.h
115
116#------------------------------------------------------------------------------#
117all: @build_target@
118
119build-default: $(TARGET) $(F90TARGET) install-module
120
121$(TARGET): $(OBJS)
122	$(AR) $(FSTRLIBDIR)/$@ $(OBJS)
123
124$(F90TARGET): $(OBJSF)
125	$(AR) $(FSTRLIBDIR)/$@ $(OBJSF)
126
127install-header:
128	$(CP) $(HEADERS) $(FSTRINCDIR)/.
129	$(CP) $(INCLUDESF) $(FSTRINCDIR)/.
130
131install-module:
132	$(CP) *.$(F90MODULEPOSTFIX) $(FSTRINCDIR)/.
133
134$(OBJS): $(HEADERS)
135
136$(OBJSF): $(INCLUDESF)
137
138install:
139
140clean:
141	$(RM) *.$(COBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX)
142
143distclean: clean
144