1LIBTOOL_DEPS = @LIBTOOL_DEPS@
2libtool: $(LIBTOOL_DEPS)
3	$(SHELL) ./configure_status libtool
4ACLOCAL_AMFLAGS = -I m4
5
6CONFIGURE_DEPENDENCIES = $(top_srcdir)/version.sh
7
8$(top_srcdir)/configure: $(top_srcdir)/version.sh
9
10pkgconfigdir = $(libdir)/pkgconfig
11pkgconfig_DATA = rpms/eccodes.pc rpms/eccodes_f90.pc
12
13if WITH_PERL
14  PERL_OPT = @PERLDIR@
15else
16  PERL_OPT =
17endif
18
19if WITH_PYTHON
20  PYTHON_OPT = python
21else
22  PYTHON_OPT =
23endif
24
25SUBDIRS = src tools definitions samples ifs_samples/grib1 ifs_samples/grib1_mlgrib2 ifs_samples/grib1_mlgrib2_ieee64 \
26          tests tigge $(FORTRAN_MOD) examples/C $(F90_CHECK) $(PERL_OPT) $(PYTHON_OPT) examples/python data
27
28EXTRA_DIST = README AUTHORS NOTICE LICENSE ChangeLog version.sh html \
29		src/extrules.am \
30		definitions/extrules.am \
31		python/extrules.am \
32		src/dummy.am \
33		definitions/dummy.am \
34		definitions/make_makefile_am.pl \
35		data/grib_data_files.txt \
36		data/ls.log \
37		data/multi.ok \
38		data/local.good.log \
39		data/typeOfProcessedData.ok \
40		data/multi_step.txt \
41		data/bitmap.diff \
42		data/no_bitmap.diff \
43		data/ieee_test.good \
44		data/index.ok \
45		data/index_f90.ok \
46		data/spherical_model_level.grib1_32.good \
47		data/spherical_model_level.grib1.good \
48		data/statistics.out.good \
49		data/scan_x_regular_gg_5_7_good.dump \
50		data/scan_x_regular_ll_5_4_good.dump \
51		data/scan_x_regular_ll_5_7_good.dump \
52		data/scan_x_regular_ll_8_4_good.dump \
53		data/scan_x_regular_ll_8_7_good.dump \
54		data/scan_x_rotated_ll_5_4_good.dump \
55		data/scan_x_rotated_ll_5_7_good.dump \
56		data/scan_x_rotated_ll_8_4_good.dump \
57		data/scan_x_rotated_ll_8_7_good.dump \
58		data/scan_y_regular_ll_5_4_good.dump \
59		data/scan_y_regular_ll_5_7_good.dump \
60		data/scan_y_regular_ll_8_4_good.dump \
61		data/scan_y_regular_ll_8_7_good.dump \
62		data/scan_y_rotated_ll_5_4_good.dump \
63		data/scan_y_rotated_ll_5_7_good.dump \
64		data/scan_y_rotated_ll_8_4_good.dump \
65		data/scan_y_rotated_ll_8_7_good.dump \
66		data/tigge_pf_ecmwf.grib2.ref \
67		data/BUFR3.tmpl.dump.plain.ref
68		data/60_model_levels \
69		data/list_points \
70		data/step.log \
71		data/step_grib1.filter \
72		data/step_grib1.log \
73		data/julian.out.good \
74		data/tigge/tigge_data_files.txt \
75		data/read_any.ok \
76		data/download.sh \
77		perf/jmeter.awk \
78		perf/time.sh \
79		CMakeLists.txt \
80		project_summary.cmake \
81		eccodes_config.h.in \
82		examples/CMakeLists.txt \
83		data/CMakeLists.txt \
84		data/tigge/CMakeLists.txt \
85		data/bufr/CMakeLists.txt \
86		ifs_samples/grib1/CMakeLists.txt \
87		ifs_samples/grib1_mlgrib2_ieee64/CMakeLists.txt \
88		ifs_samples/grib1_mlgrib2_ieee32/CMakeLists.txt \
89		ifs_samples/CMakeLists.txt \
90		ifs_samples/grib1_mlgrib2/CMakeLists.txt \
91		samples/CMakeLists.txt \
92		windows/msvc/grib_api.sln
93
94
95perf_dir = @abs_builddir@/perf
96
97
98check-perf:
99	@echo "Running and benchmarking tests $(perf_dir). This process will take some time."
100#       -rm -f $(perf_dir)/report.out*
101	for i in 1 2 3 ; do \
102		echo "Running iteration $$i" ;\
103			$(MAKE) check PYTHON=$(PYTHON) TOPBUILDDIR=$(abs_builddir) TESTS_ENVIRONMENT=$(perf_dir)/time.sh \
104                > $(perf_dir)/report.out.$$i 2>&1; done
105	cat $(perf_dir)/report.out* | $(AWK) -f $(perf_dir)/jmeter.awk -v JMETER="true" TIMESTAMP=`date +%s`000 > $(perf_dir)/report.jtl
106	cat $(perf_dir)/report.out* | $(AWK) -f $(perf_dir)/jmeter.awk -v JMETER="false" TIMESTAMP=`date +%s`000 > $(perf_dir)/report.xml
107#	-rm -f $(perf_dir)/report.out*
108	@echo "Testing and benchmarks have finished"
109
110rpmspec = rpms/$(PACKAGE_TARNAME).spec
111
112rpmmacros = \
113    --define="_rpmdir $${PWD}"\
114    --define="_srcrpmdir $${PWD}"\
115    --define="_sourcedir $${PWD}"\
116    --define="_specdir $${PWD}"\
117    --define="_builddir $${PWD}"
118
119RPMBUILD = rpmbuild
120RPMFLAGS = --nodeps --buildroot="$${PWD}/_rpm"
121
122rpmcheck:
123	@if [ which $(RPMBUILD) &> /dev/null ]; then \
124		echo "*** This make target requires an rpm-based Linux distribution"; \
125		(exit 1); exit 1; \
126	fi
127
128srcrpm: dist rpmcheck $(rpmspec)
129	$(RPMBUILD) $(RPMFLAGS) -bs $(rpmmacros) $(rpmspec)
130
131rpms: dist rpmcheck $(rpmspec)
132	$(RPMBUILD) $(RPMFLAGS) -ba $(rpmmacros) $(rpmspec)
133
134main_package = $(abs_top_srcdir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-$(host_os)-$(host_cpu)-$(RPM_RELEASE).tar
135
136dist-defs:
137	@rm -f $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz
138	cd definitions; \
139	$(MAKE) top_distdir=$(abs_top_srcdir)/_distdefs distdir=$(abs_top_srcdir)/_distdefs/definitions distdir; \
140	cd $(abs_top_srcdir)/_distdefs; \
141	tar zcvf $(abs_top_srcdir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz definitions > /dev/null
142	@rm -rf _distdefs
143	@echo "Created definitions tar ball \"$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz\""
144
145bindist:
146	$(MAKE) DESTDIR=$(abs_top_srcdir)/_dist
147	$(MAKE) DESTDIR=$(abs_top_srcdir)/_dist install
148	cd $(abs_top_srcdir)/_dist; \
149	find . -type f -o -type l | grep $(prefix) | \
150		cpio -ov -H ustar > $(main_package) ; \
151	gzip $(main_package)
152
153distclean-local:
154	rm -rf $${PWD}/_rpm
155	find $${PWD} -name "*.rpm" -exec rm {} \;
156	rm -f *.tar.gz
157	rm -rf $(RPM_HOST_CPU)
158	rm -rf _dist _distdefs
159
160
161