1# Copyright (c) 2013      Mellanox Technologies, Inc.
2#                         All rights reserved.
3# Copyright (c) 2013-2014 Cisco Systems, Inc.  All rights reserved.
4# Copyright (c) 2014      Intel, Inc.  All rights reserved.
5# Copyright (c) 2014-2017 Research Organization for Information Science
6#                         and Technology (RIST). All rights reserved.
7# $COPYRIGHT$
8#
9# Additional copyrights may follow
10#
11# $HEADER$
12
13include $(top_srcdir)/Makefile.ompi-rules
14
15man_pages = oshcc.1 shmemcc.1 oshc++.1 shmemc++.1 oshcxx.1 shmemcxx.1 oshfort.1 shmemfort.1 oshrun.1 shmemrun.1
16
17if PROJECT_OSHMEM
18man_MANS = $(man_pages)
19
20nodist_oshmemdata_DATA =  \
21	shmemcc-wrapper-data.txt \
22	shmemc++-wrapper-data.txt \
23	shmemfort-wrapper-data.txt
24
25# Only install / uninstall if we're building oshmem
26install-exec-hook-always:
27	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
28	(cd $(DESTDIR)$(bindir); rm -f shmemrun$(EXEEXT); $(LN_S) mpirun$(EXEEXT) shmemrun$(EXEEXT))
29	(cd $(DESTDIR)$(bindir); rm -f oshrun$(EXEEXT); $(LN_S) mpirun$(EXEEXT) oshrun$(EXEEXT))
30	(cd $(DESTDIR)$(bindir); rm -f shmemcc$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) shmemcc$(EXEEXT))
31	(cd $(DESTDIR)$(bindir); rm -f oshcc$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) oshcc$(EXEEXT))
32	(cd $(DESTDIR)$(bindir); rm -f shmemc++$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) shmemc++$(EXEEXT))
33	(cd $(DESTDIR)$(bindir); rm -f shmemcxx$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) shmemcxx$(EXEEXT))
34	(cd $(DESTDIR)$(bindir); rm -f oshc++$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) oshc++$(EXEEXT))
35	(cd $(DESTDIR)$(bindir); rm -f oshcxx$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) oshcxx$(EXEEXT))
36	(cd $(DESTDIR)$(bindir); rm -f shmemfort$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) shmemfort$(EXEEXT))
37	(cd $(DESTDIR)$(bindir); rm -f oshfort$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) oshfort$(EXEEXT))
38
39install-data-hook-always:
40	(cd $(DESTDIR)$(pkgdatadir); rm -f oshcc-wrapper-data.txt; $(LN_S) shmemcc-wrapper-data.txt oshcc-wrapper-data.txt)
41	(cd $(DESTDIR)$(pkgdatadir); rm -f shmemcxx-wrapper-data.txt; $(LN_S) shmemc++-wrapper-data.txt shmemcxx-wrapper-data.txt)
42	(cd $(DESTDIR)$(pkgdatadir); rm -f oshc++-wrapper-data.txt; $(LN_S) shmemc++-wrapper-data.txt oshc++-wrapper-data.txt)
43	(cd $(DESTDIR)$(pkgdatadir); rm -f oshcxx-wrapper-data.txt; $(LN_S) shmemc++-wrapper-data.txt oshcxx-wrapper-data.txt)
44	(cd $(DESTDIR)$(pkgdatadir); rm -f oshfort-wrapper-data.txt; $(LN_S) shmemfort-wrapper-data.txt oshfort-wrapper-data.txt)
45
46uninstall-local-always:
47	rm -f $(DESTDIR)$(bindir)/shmemrun$(EXEEXT) \
48	$(DESTDIR)$(bindir)/oshrun$(EXEEXT) \
49	$(DESTDIR)$(bindir)/shmemcc$(EXEEXT) \
50	$(DESTDIR)$(bindir)/oshcc$(EXEEXT) \
51	$(DESTDIR)$(bindir)/shmemcxx$(EXEEXT) \
52	$(DESTDIR)$(bindir)/oshcxx$(EXEEXT) \
53	$(DESTDIR)$(bindir)/shmemfort$(EXEEXT) \
54	$(DESTDIR)$(bindir)/oshfort$(EXEEXT) \
55	$(DESTDIR)$(pkgdatadir)/shmemcc-wrapper-data.txt \
56	$(DESTDIR)$(pkgdatadir)/oshcc-wrapper-data.txt \
57	$(DESTDIR)$(pkgdatadir)/shmemcxx-wrapper-data.txt \
58	$(DESTDIR)$(pkgdatadir)/oshcxx-wrapper-data.txt \
59	$(DESTDIR)$(pkgdatadir)/shmemfort-wrapper-data.txt \
60	$(DESTDIR)$(pkgdatadir)/oshfort-wrapper-data.txt
61
62
63if CASE_SENSITIVE_FS
64man_MANS += oshCC.1 shmemCC.1
65
66install-exec-hook: install-exec-hook-always
67	(cd $(DESTDIR)$(bindir); rm -f shmemCC$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) shmemCC$(EXEEXT))
68	(cd $(DESTDIR)$(bindir); rm -f oshCC$(EXEEXT); $(LN_S) opal_wrapper$(EXEEXT) oshCC$(EXEEXT))
69
70install-data-hook: install-data-hook-always
71	(cd $(DESTDIR)$(pkgdatadir); rm -f shmemCC-wrapper-data.txt; $(LN_S) shmemcxx-wrapper-data.txt shmemCC-wrapper-data.txt)
72	(cd $(DESTDIR)$(pkgdatadir); rm -f oshCC-wrapper-data.txt; $(LN_S) oshcxx-wrapper-data.txt oshCC-wrapper-data.txt)
73
74uninstall-local: uninstall-local-always
75	rm -f $(DESTDIR)$(bindir)/shmemCC$(EXEEXT) \
76	$(DESTDIR)$(mandir)/man1/shmemCC.1 \
77	$(DESTDIR)$(pkgdatadir)/shmemCC-wrapper-data.txt
78	rm -f $(DESTDIR)$(bindir)/oshCC$(EXEEXT) \
79	$(DESTDIR)$(mandir)/man1/oshCC.1 \
80	$(DESTDIR)$(pkgdatadir)/oshCC-wrapper-data.txt
81
82oshCC.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
83	rm -f oshCC.1
84	sed -e 's/#COMMAND#/oshCC/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > oshCC.1
85
86shmemCC.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
87	rm -f shmemCC.1
88	sed -e 's/#COMMAND#/shmemCC/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > shmemCC.1
89
90else # CASE_SENSITIVE_FS
91install-exec-hook: install-exec-hook-always
92install-data-hook: install-data-hook-always
93uninstall-local: uninstall-local-always
94
95endif # CASE_SENSITIVE_FS
96
97########################################################
98#
99# Man page generation / handling
100#
101########################################################
102distclean-local:
103	rm -f $(man_MANS)
104
105$(top_builddir)/opal/tools/wrappers/generic_wrapper.1:
106	(cd $(top_builddir)/opal/tools/wrappers && $(MAKE) $(AM_MAKEFLAGS) generic_wrapper.1)
107
108oshcc.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
109	rm -f oshcc.1
110	sed -e 's/#COMMAND#/oshcc/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > oshcc.1
111
112shmemcc.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
113	rm -f shmemcc.1
114	sed -e 's/#COMMAND#/shmemcc/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > shmemcc.1
115
116oshc++.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
117	rm -f oshc++.1
118	sed -e 's/#COMMAND#/oshc++/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > oshc++.1
119
120shmemc++.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
121	rm -f shmemc++.1
122	sed -e 's/#COMMAND#/shmemc++/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > shmemc++.1
123
124oshcxx.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
125	rm -f oshcxx.1
126	sed -e 's/#COMMAND#/oshcxx/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > oshcxx.1
127
128shmemcxx.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
129	rm -f shmemcxx.1
130	sed -e 's/#COMMAND#/shmemcxx/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/C++/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > shmemcxx.1
131
132oshfort.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
133	rm -f oshfort.1
134	sed -e 's/#COMMAND#/oshfort/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/Fortran/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > oshfort.1
135
136shmemfort.1: $(top_builddir)/opal/tools/wrappers/generic_wrapper.1
137	rm -f shmemfort.1
138	sed -e 's/#COMMAND#/shmemfort/g' -e 's/#PROJECT#/Open SHMEM/g' -e 's/#PROJECT_SHORT#/OSHMEM/g' -e 's/#LANGUAGE#/Fortran/g' < $(top_builddir)/opal/tools/wrappers/generic_wrapper.1 > shmemfort.1
139
140$(top_builddir)/orte/tools/orterun/orterun.1:
141	(cd $(top_builddir)/orte/tools/orterun && $(MAKE) $(AM_MAKEFLAGS) orterun.1)
142
143oshrun.1: $(top_builddir)/orte/tools/orterun/orterun.1
144	cp -f $(top_builddir)/orte/tools/orterun/orterun.1 oshrun.1
145
146shmemrun.1: $(top_builddir)/orte/tools/orterun/orterun.1
147	cp -f $(top_builddir)/orte/tools/orterun/orterun.1 shmemrun.1
148
149endif # PROJECT_OSHMEM
150