1MPIDIR            = @mpidir@
2MPIBINDIR         = @mpibindir@
3MPILIBDIR         = @mpilibdir@
4MPIINCDIR         = @mpiincdir@
5MPILIBS           = @mpilibs@
6
7PREFIX            = @prefix@
8BINDIR            = @bindir@
9LIBDIR            = @libdir@
10INCLUDEDIR        = @includedir@
11
12NEUINCDIR	      = ./include
13NEULIBDIR	      = ./lib
14NEULIBS           = -lnfd -lhecd -lconv
15NEU_CPPFLAGS      = -I$(NEUINCDIR)
16NEU_CPPLDFLAGS    = -L$(NEULIBDIR) $(NEULIBS)
17
18CC                = @cc@
19CFLAGS            = @cflags@
20BASE_CFLAGS       = @base_cflags@
21MPI_CFLAGS        = @mpi_cflags@
22ALL_CFLAGS        = $(BASE_CFLAGS) $(MPI_CFLAGS) $(CFLAGS)
23LDFLAGS           = @ldflags@
24MPI_LDFLAGS       = @mpi_ldflags@
25ALL_LDFLAGS       = $(MPI_LDFLAGS) $(LDFLAGS)
26OPTFLAGS          = @optflags@
27
28CPP               = @cpp@
29CPPFLAGS          = @cppflags@
30BASE_CPPFLAGS     = @base_cppflags@
31MPI_CPPFLAGS      = @mpi_f90flags@
32ALL_CPPFLAGS      = $(BASE_CPPFLAGS) $(MPI_CPPFLAGS) $(CPPFLAGS)
33CPPLDFLAGS        = @cppldflags@
34MPI_CPPLDFLAGS    = @mpi_f90ldflags@
35ALL_CPPLDFLAGS    = $(MPI_CPPLDFLAGS) $(CPPLDFLAGS)
36CPPOPTFLAGS       = @cppoptflags@
37
38F90               = @f90@
39F90FLAGS          = @f90flags@
40BASE_F90FLAGS     = @base_f90flags@
41MPI_F90FLAGS      = @mpi_f90flags@
42ALL_F90FLAGS      = $(BASE_F90FLAGS) $(MPI_F90FLAGS) $(F90FLAGS)
43F90LDFLAGS        = @f90ldflags@
44MPI_F90LDFLAGS    = @mpi_f90ldflags@
45ALL_F90LDFLAGS    = $(MPI_F90LDFLAGS) $(F90LDFLAGS)
46F90OPTFLAGS       = @f90optflags@
47
48AR                = @ar@
49CP                = @cp@
50RM                = @rm@
51RANLIB            = @ranlib@
52MKDIR             = @mkdir@
53
54#-----------------------------------------------------------------------------#
55TARGET            = neu2fstr
56
57F90MODULEPOSTFIX  = @f90modulepostfix@
58COBJFILEPOSTFIX   = @cobjfilepostfix@
59CPPOBJFILEPOSTFIX = @cobjfilepostfix@
60F90OBJFILEPOSTFIX = @f90objfilepostfix@
61
62#-----------------------------------------------------------------------------#
63.SUFFIXES:
64.SUFFIXES: .@cobjfilepostfix@ .@cppobjfilepostfix@ .@f90objfilepostfix@ .c .cpp .f90
65
66.c.@cobjfilepostfix@:
67	$(CC) -c $< $(ALL_CFLAGS) $(OPTFLAGS)
68
69.cpp.@cppobjfilepostfix@:
70	$(CPP) -c $< $(ALL_CPPFLAGS) $(CPPOPTFLAGS) $(NEU_CPPFLAGS)
71
72.f90.@f90objfilepostfix@:
73	$(F90) -c $< $(ALL_F90FLAGS) $(F90OPTFLAGS)
74
75#-----------------------------------------------------------------------------#
76OBJS =
77
78OBJSP = \
79	neu2fstr.@cppobjfilepostfix@
80
81OBJSF =
82
83HEADERS =
84
85#-----------------------------------------------------------------------------#
86all: @build_target@
87
88@build_target@:
89	if [ ! -d include ]; then \
90		$(MKDIR) include; \
91	fi
92	if [ ! -d lib ]; then \
93		$(MKDIR) lib; \
94	fi
95	$(RM) ./include/*
96	$(RM) ./lib/*
97	@cd NFD       && $(MAKE) @build_target@
98	@cd HECD      && $(MAKE) @build_target@
99	@cd converter && $(MAKE) @build_target@
100	$(MAKE) BUILD_CURR
101
102BUILD_CURR: $(TARGET)
103
104$(TARGET): $(OBJSP)
105	$(CPP) $(ALL_CPPFLAGS) $(CPPOPTFLAGS) \
106	-o $@ $(OBJSP) $(ALL_CPPLDFLAGS) $(NEU_CPPLDFLAGS)
107
108$(OBJS): $(HEADERS)
109
110$(OBJSP): $(HEADERS)
111
112$(OBJSF):
113
114install:
115	$(CP) $(TARGET) $(BINDIR)
116
117clean:
118	@cd NFD       && $(MAKE) clean
119	@cd HECD      && $(MAKE) clean
120	@cd converter && $(MAKE) clean
121	$(RM) *.$(COBJFILEPOSTFIX) *.$(CPPOBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX)
122
123distclean:
124	@cd NFD       && $(MAKE) distclean
125	@cd HECD      && $(MAKE) distclean
126	@cd converter && $(MAKE) distclean
127	$(RM) *.$(COBJFILEPOSTFIX) *.$(CPPOBJFILEPOSTFIX) *.$(F90OBJFILEPOSTFIX) *.$(F90MODULEPOSTFIX)
128	$(RM) $(TARGET)
129	$(RM) ./include/*
130	$(RM) ./bin/*
131	$(RM) ./lib/*
132