annotate hg-octave-dist.mk @ 4449:1933a9113e65

of-*: add octave as a dependancy to the of packages is binary enable is set (Bug #46235) * src/of-actuarial.mk, src/of-communications.mk, src/of-control.mk, src/of-data-smoothing.mk, src/of-database.mk, src/of-dataframe.mk, src/of-dicom.mk, src/of-financial.mk, src/of-fits.mk, src/of-fl-core.mk, src/of-fuzzy-logic-toolkit.mk, src/of-ga.mk, src/of-general.mk, src/of-generate_html.mk, src/of-geometry.mk, src/of-gsl.mk, src/of-image.mk, src/of-instrument-control.mk, src/of-interval.mk, src/of-io.mk, src/of-linear-algebra.mk, src/of-lssa.mk, src/of-ltfat.mk, src/of-mapping.mk, src/of-miscellaneous.mk, src/of-nan.mk, src/of-netcdf.mk, src/of-nurbs.mk, src/of-ocs.mk, src/of-octcdf.mk, src/of-odepkg.mk, src/of-optim.mk, src/of-quaternion.mk, src/of-queueing.mk, src/of-signal.mk, src/of-sockets.mk, src/of-sparsersb.mk, src/of-specfun.mk, src/of-splines.mk, src/of-statistics.mk, src/of-stk.mk, src/of-strings.mk, src/of-struct.mk, src/of-tisean.mk, src/of-tsa.mk, src/of-video.mk, src/of-windows.mk, src/of-zenity.mk, src/of-zeromq.mk: add $(PKG)_DEPS += $(OCTAVE_TARGET) if ENABLE_BINARY_PACKAGES = yes
author John D
date Mon, 14 Aug 2017 09:12:34 -0400
parents 8ec05e08aa22
children 2a8b5cf2085c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4192
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 ## Build and Octave tarball distribution from hg sources. The
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 ## resulting tarball may then be used by the default-octave target to
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3 ## build. So the typical steps for building Octave from the mercurial
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 ## sources are
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 ##
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 ## ./bootstrap
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 ## ./configure --enable-octave=default
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 ## make hg-octave-dist
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 ## make
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 ##
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 ## The version number set in the mercurial sources for Octave must
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 ## match the one used in src/default-octave.mk.
4321
8ec05e08aa22 hg-octave-dist: Also install native Octave
John W. Eaton <jwe@octave.org>
parents: 4196
diff changeset
13 ##
8ec05e08aa22 hg-octave-dist: Also install native Octave
John W. Eaton <jwe@octave.org>
parents: 4196
diff changeset
14 ## We also install the resulting binary to run natively when
8ec05e08aa22 hg-octave-dist: Also install native Octave
John W. Eaton <jwe@octave.org>
parents: 4196
diff changeset
15 ## building packages during a cross build.
4192
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 ## Set PATH, PKG_CONFIG_PATH, and LD_LIBRARY_PATH to the original
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 ## values from the environment so that we avoid the tools that we've
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 ## built for cross compiling. For these rules to work, you must have
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 ## appropriate versions of the required tool installed outside of the
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 ## mxe-octave build tree. Things like pkg-config and other tools that
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 ## are built for mxe-octave may produce the wrong values for these
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 ## steps, especially if we eventually intend to cross compile Octave.
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 ## Rather than try to work around those issues, it seems simpler to
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 ## just use the system tools for this job.
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 HG_OCTAVE_DIST_ENV_FLAGS := \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 PKG_CONFIG_PATH='$(ENV_PKG_CONFIG_PATH)' \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 LD_LIBRARY_PATH='$(LD_LIBRARY_PATH)' \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 PATH='$(ENV_PATH)'
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 .PHONY: hg-octave-dist
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 hg-octave-dist: $(BUILD_TOOLS) update-hg-octave-repo
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 cd octave-hg-repo && \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 rm -rf .build && \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 mkdir .build && \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 $(HG_OCTAVE_DIST_ENV_FLAGS) ./bootstrap && \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 cd .build && \
4321
8ec05e08aa22 hg-octave-dist: Also install native Octave
John W. Eaton <jwe@octave.org>
parents: 4196
diff changeset
39 $(HG_OCTAVE_DIST_ENV_FLAGS) ../configure --prefix=$(ROOT_PREFIX) && \
4192
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' all && \
4321
8ec05e08aa22 hg-octave-dist: Also install native Octave
John W. Eaton <jwe@octave.org>
parents: 4196
diff changeset
41 $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' install && \
4192
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' dist && \
4196
4a414e5b16a4 * hg-octave-dist.mk (hg-octave-dist): Fix file and directory names in rule.
John W. Eaton <jwe@octave.org>
parents: 4192
diff changeset
43 mv '$(default-octave_FILE)' '$(PKG_DIR)'
4192
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45 .PHONY: update-hg-octave-repo
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 update-hg-octave-repo:
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 if [ -d octave-hg-repo ]; then \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48 cd octave-hg-repo && hg pull -u; \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 else \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
50 hg clone http://octave.org/hg/octave octave-hg-repo; \
438a4bfdc887 new rules for creating a tarball from Octave's hg sources
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51 fi