1ALL: all
2
3MAKE   = @MAKE@
4SHELL  = @SHELL@
5MKDIR  = @MKDIR@
6RM     = @RM@
7CP     = @CPRP@
8
9top_srcdir        = @top_srcdir@
10srcdir            = @srcdir@
11
12# Build directories
13includebuild_dir  = @includebuild_dir@
14libbuild_dir      = @libbuild_dir@
15binbuild_dir      = @binbuild_dir@
16etcbuild_dir      = @etcbuild_dir@
17sbinbuild_dir     = @sbinbuild_dir@
18
19# Building Fortran to C interface
20MPE_BUILD_FORTRAN2C  = @MPE_BUILD_FORTRAN2C@
21# MPI implementation: used to turn on/off of certain feature
22# MPI_IMPL             = @MPI_IMPL@
23# MPE header files that are needed by endusers
24MPE_HEADERS          = mpe_callstack.h
25
26all: build_include build_etc
27	$(MAKE) $(MAKEOPTS) build_lib_bin
28
29#######  Building from the source
30build_include:
31	@-if [ -n "$(includebuild_dir)" ] ; then \
32	      if [ ! -d $(includebuild_dir) ] ; then \
33	          $(MKDIR) -p $(includebuild_dir) ; \
34	      fi ; \
35	      for file in $(MPE_HEADERS) ; do \
36	          if [ -f $(top_srcdir)/include/$$file ] ; then \
37	              $(CP) -f $(top_srcdir)/include/$$file \
38	                       $(includebuild_dir) ; \
39	          else \
40	              if [ -f include/$$file ] ; then \
41	                  $(CP) -f include/$$file $(includebuild_dir) ; \
42	              fi ; \
43	          fi ; \
44	      done ; \
45	  fi
46
47build_lib_bin:
48	@( cd src && $(MAKE) $(MAKEOPTS) )
49	( cd bin && $(CP) -f bt2line $(binbuild_dir) )
50
51build_etc:
52	-for file in ./etc/*.conf ; do \
53	      $(CP) -f $$file $(etcbuild_dir) ; \
54	  done
55
56
57########  Linkage Tests
58linktest_all: linktest_C linktest_F77
59
60linktest_C:
61
62linktest_F77:
63
64########  Cleaning
65# This is always a VPATH build, cleaning up the MPE_HEADERS
66clean_include:
67	-cd $(includebuild_dir) && \
68	  for file in $(MPE_HEADERS) ; do \
69	      $(RM) -f $$file ; \
70	  done
71
72clean_lib:
73
74clean_bin:
75	-$(RM) -f $(binbuild_dir)/bt2line
76
77clean_etc:
78	-$(RM) -f ./etc/*.conf
79
80clean: clean_bin clean_lib
81	@( cd src && $(MAKE) $(MAKEOPTS) clean )
82
83distclean: clean_include clean_bin clean_lib clean_etc
84	@-( cd src && $(MAKE) $(MAKEOPTS) distclean )
85	-$(RM) -f mpe_callstack_conf.h
86	-$(RM) -f Makefile
87	-$(RM) -f config.log config.status
88	-$(RM) -rf autom4te*.cache
89	-$(RM) -f bin/bt2line include/mpe_callstack.h
90
91maintainer-clean: distclean
92	-$(RM) -f mpe_callstack_conf.h.in
93
94owner-clean: maintainer-clean
95	-$(RM) -f configure
96