annotate binary-dist-rules.mk @ 5957:9cd5425b033b

octave-launch-firsttime: New launcher executable for starting Octave first time. * installer-files/octave-launch.c: Conditionally change to USERPROFILE before running Octave. * binary-dist-rules.mk(octave-launch-firsttime, installer-files/octave-launch-firsttime.exe): Add build rules for new launcher executable. (copy-windows-dist-files): Copy octave-launch-firsttime.exe to $(OCTAVE_DIST_DIR).
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 20 Nov 2021 15:34:20 +0100
parents b8e9589b7794
children bf9be5e7ab00
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
1
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
2 ifeq ($(MXE_WINDOWS_BUILD),yes)
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
3 ifeq ($(ENABLE_WINDOWS_64),yes)
4694
98bcbdaf910b binary-dist-rules.mk: Fix dist file suffixes.
John W. Eaton <jwe@octave.org>
parents: 4686
diff changeset
4 ifeq ($(ENABLE_FORTRAN_INT64),yes)
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
5 OCTAVE_PLATFORM_SUFFIX := -w64-64
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
6 else
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
7 OCTAVE_PLATFORM_SUFFIX := -w64
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
8 endif
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
9 else
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
10 OCTAVE_PLATFORM_SUFFIX := -w32
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
11 endif
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
12 endif
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13
4788
65dfbc5a5dbc binary-dist-rules.mk (OCTAVE_DIST_NAME): Use octave-$($(OCTAVE_TARGET)_VERSION)$(OCTAVE_PLATFORM_SUFFIX) for octave-release version.
John W. Eaton <jwe@octave.org>
parents: 4767
diff changeset
14 ifeq ($(OCTAVE_TARGET),release-octave)
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
15 OCTAVE_DIST_NAME := octave-$($(OCTAVE_TARGET)_VERSION)$(OCTAVE_PLATFORM_SUFFIX)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 else
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
17 OCTAVE_DIST_NAME := octave-$(DATE)$(OCTAVE_PLATFORM_SUFFIX)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 endif
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
20 OCTAVE_DIST_DIR := $(TOP_BUILD_DIR)/dist/$(OCTAVE_DIST_NAME)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
22 OCTAVE_NSI_FILE := $(TOP_BUILD_DIR)/dist/octave.nsi
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23
4906
bcfecd611e1b * binary-dist-rules.mk: remove '/' from any addpath paths
John Donoghue
parents: 4807
diff changeset
24 OCTAVE_ADD_PATH := /
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
25 ifeq ($(MXE_WINDOWS_BUILD),yes)
3522
9bc3862c2091 update binary-dist rules for new way of building gcc
John W. Eaton <jwe@octave.org>
parents: 3517
diff changeset
26 TAR_H_OPTION := -h
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
27 WINDOWS_BINARY_DIST_DEPS := \
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
28 octave-launch \
5957
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
29 octave-launch-firsttime \
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
30 win7appid \
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
31 blas_switch
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
32
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
33 ifeq ($(USE_MSYS2),yes)
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
34 WINDOWS_BINARY_DIST_DEPS += \
4795
f39017b331bf only download msys2 source packages if building dist target
John W. Eaton <jwe@octave.org>
parents: 4793
diff changeset
35 msys2 \
f39017b331bf only download msys2 source packages if building dist target
John W. Eaton <jwe@octave.org>
parents: 4793
diff changeset
36 msys2-sources
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
37
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
38 ifeq ($(ENABLE_WINDOWS_64),yes)
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
39 OCTAVE_ADD_PATH := /mingw64
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
40 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
41 OCTAVE_ADD_PATH := /mingw32
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
42 endif
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
43 else
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
44 WINDOWS_BINARY_DIST_DEPS += \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
45 msys-base \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
46 msys-base-sources
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
47 endif
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
48
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
49 ifeq ($(MXE_NATIVE_BUILD),no)
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
50 WINDOWS_BINARY_DIST_DEPS += \
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
51 native-binutils \
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
52 native-gcc \
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
53 npp
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
54 endif
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55 endif
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57 BINARY_DIST_DEPS := \
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58 $(OCTAVE_TARGET) \
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3468
diff changeset
59 blas-packages \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60 octave-forge-packages \
5742
b532d40c63d8 Add Octave package biosig version 2.2.1
Markus Mützel <markus.muetzel@gmx.de>
parents: 5650
diff changeset
61 octave-other-packages \
3958
ac3abcea55e8 Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents: 3862
diff changeset
62 devel-packages \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63 units \
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 transfig \
3435
9fcc72373e24 build stable-octave package by default
John W. Eaton <jwe@octave.org>
parents: 3433
diff changeset
65 $(WINDOWS_BINARY_DIST_DEPS)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67 define delete-dist-directory
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
68 echo "deleting previous dist directory..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
69 rm -rf $(TOP_BUILD_DIR)/dist
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 define make-dist-directory
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73 echo "creating dist directory..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
74 mkdir -p $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
76
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77 define copy-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78 echo "copying files..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79 echo " octave and dependencies..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80 cd $(HOST_PREFIX) \
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
81 && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH) ; tar xpf - )
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82 echo " octaverc file..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
83 cp $(TOP_DIR)/octaverc $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/share/octave/site/m/startup/octaverc
4078
e5e0b3f7244b Dont copy src directory if binary packages enabled
John Donoghue <john.donoghue@ieee.org>
parents: 4066
diff changeset
84 if [ $(ENABLE_BINARY_PACKAGES) = no ]; then \
e5e0b3f7244b Dont copy src directory if binary packages enabled
John Donoghue <john.donoghue@ieee.org>
parents: 4066
diff changeset
85 echo " build_packages.m..."; \
e5e0b3f7244b Dont copy src directory if binary packages enabled
John Donoghue <john.donoghue@ieee.org>
parents: 4066
diff changeset
86 cp $(TOP_DIR)/build_packages.m $(OCTAVE_DIST_DIR)/src; \
e5e0b3f7244b Dont copy src directory if binary packages enabled
John Donoghue <john.donoghue@ieee.org>
parents: 4066
diff changeset
87 fi
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
88 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
89
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
90 ## FIXME: Maybe we should have a uniform way of dealing with the
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
91 ## creation of build-tree directories like this?
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
92 installer-files/.dirstamp:
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
93 @mkdir -p installer-files
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
94 @: > installer-files/.dirstamp
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
95
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
96 ifeq ($(MXE_WINDOWS_BUILD),yes)
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
97 .PHONY: octave-launch
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
98 octave-launch: installer-files/octave-launch.exe
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
99
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
100 ## FIXME: We aren't using VPATH?
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
101 installer-files/octave-launch.exe: $(TOP_DIR)/installer-files/octave-launch.c | installer-files/.dirstamp
5956
b8e9589b7794 octave-launch: Use Unicode strings in Windows API functions.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5955
diff changeset
102 $(MXE_CC) $< -o $@ -Wl,--subsystem,windows -lshlwapi -municode -DUNICODE -D_UNICODE
5957
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
103
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
104 .PHONY: octave-launch-firsttime
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
105 octave-launch-firsttime: installer-files/octave-launch-firsttime.exe
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
106
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
107 ## FIXME: We aren't using VPATH?
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
108 installer-files/octave-launch-firsttime.exe: $(TOP_DIR)/installer-files/octave-launch.c | installer-files/.dirstamp
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
109 $(MXE_CC) $< -o $@ -Wl,--subsystem,windows -lshlwapi -municode -DUNICODE -D_UNICODE -DFIRST_TIME
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
110 endif
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
111
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
112 ifeq ($(MXE_WINDOWS_BUILD),yes)
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
113 ifeq ($(MXE_NATIVE_BUILD),no)
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
114 define copy-windows-dist-files
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
115 echo " DLL files..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
116 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
117 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
118 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$(build-gcc_VERSION)/*.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
119 if [ "$(USE_MSYS2)" = "yes" ]; then \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
120 echo " msys2 files..."; \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
121 cd $(TOP_BUILD_DIR)/msys2 \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
122 && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
123 else \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
124 echo " msys base files..."; \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
125 cd $(TOP_BUILD_DIR)/msys-base \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
126 && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
127 echo " msys extension files..."; \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
128 cd $(TOP_BUILD_DIR)/msys-extension \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
129 && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ); \
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
130 fi
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
131 echo " notepad++..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
132 cd $(TOP_BUILD_DIR) \
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
133 && tar -c $(TAR_H_OPTION) -f - notepad++ | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - )
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
134 echo " README.html..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
135 cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
136 echo " refblas..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
137 cp $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/libblas.dll $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/librefblas.dll
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
138 echo " installing octave-launch.exe..."
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
139 cp $(TOP_BUILD_DIR)/installer-files/octave-launch.exe $(OCTAVE_DIST_DIR)/
5957
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
140 cp $(TOP_BUILD_DIR)/installer-files/octave-launch-firsttime.exe $(OCTAVE_DIST_DIR)/
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
141 echo " octave.vbs..."
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3721
diff changeset
142 cp $(TOP_DIR)/installer-files/octave.vbs $(OCTAVE_DIST_DIR)/
4028
8803dfa40236 nsis installer: set directory to userprofile on startof octave from installer (Bug #45899)
John Donoghue
parents: 3963
diff changeset
143 cp $(TOP_DIR)/installer-files/octave-firsttime.vbs $(OCTAVE_DIST_DIR)/
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
144 cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
145 cp $(TOP_DIR)/installer-files/post-install.bat $(OCTAVE_DIST_DIR)/
5650
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
146 # This patch can be dropped as soon as those lines are removed from
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
147 # the startup scripts for all targets (including stable and release).
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
148 if [ "$(OCTAVE_TARGET)" = "default-octave" ]; then \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
149 (cd '$(OCTAVE_DIST_DIR)' && $(PATCH) -p1 -u) < $(TOP_DIR)/installer-files/octave-no-short-path.patch; \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
150 fi
4590
5b5c47cd2111 Add file with hg id of MXE-Octave to dist package (bug #52794).
Markus Mützel <markus.muetzel@gmx.de>
parents: 4506
diff changeset
151 cp $(TOP_BUILD_DIR)/HG-ID $(OCTAVE_DIST_DIR)/
5954
90a4202652e7 Don't delete octave wrapper executables when packaging for Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5742
diff changeset
152 echo " installing octave.bat script file..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
153 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave.bat
5650
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
154 # This patch can be dropped as soon as those lines are removed from
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
155 # "octave.bat" for all targets (including stable and release).
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
156 if [ "$(OCTAVE_TARGET)" = "default-octave" ]; then \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
157 (cd '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin' && $(PATCH) -p1 -u) < $(TOP_DIR)/installer-files/octave-bat-no-short-path.patch; \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
158 fi
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
159 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/octave-$($(OCTAVE_TARGET)_VERSION).bat
3961
808ff354717a binary-dist-rules: fix paths of distributes .pc and .la files
John D
parents: 3958
diff changeset
160 echo " updating libtool references..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
161 find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/' -type f -name "*.la" \
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
162 -exec $(SED) -i 's|$(HOST_PREFIX)|/usr|g;s|$(BUILD_TOOLS_PREFIX)|/usr|g' {} \; ;
3961
808ff354717a binary-dist-rules: fix paths of distributes .pc and .la files
John D
parents: 3958
diff changeset
163 echo " updating pkg-config .pc references..."
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
164 find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/lib/pkgconfig' -type f -name "*.pc" \
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
165 -exec $(SED) -i 's|$(HOST_PREFIX)|/usr|g;s|$(BUILD_TOOLS_PREFIX)|/usr|g' {} \; ;
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
166 if [ "$(ENABLE_DEVEL_TOOLS)" = "yes" ]; then \
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
167 cp $(TOP_DIR)/installer-files/cmdshell.bat $(OCTAVE_DIST_DIR)/; \
5650
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
168 if [ "$(OCTAVE_TARGET)" = "default-octave" ]; then \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
169 (cd '$(OCTAVE_DIST_DIR)' && $(PATCH) -p1 -u) < $(TOP_DIR)/installer-files/cmdshell-no-short-path.patch; \
6805ab42c8aa Don't convert to short paths for default-octave target (bug #59923).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5553
diff changeset
170 fi; \
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
171 fi
4807
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
172 echo " updating script tool references..."
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
173 #find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin' -type f ! -name "*.*" \
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
174 # -exec $(SED) -i 's|$(HOST_PREFIX)|/$(OCTAVE_ADD_PATH)|g;s|$(BUILD_TOOLS_PREFIX)|/$(OCTAVE_ADD_PATH)|g' {} \; ;
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
175 find '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin' -type f ! -name "*.*" \
4906
bcfecd611e1b * binary-dist-rules.mk: remove '/' from any addpath paths
John Donoghue
parents: 4807
diff changeset
176 -exec sh -c 'test `head -c2 {}` = "#!" && $(SED) -i "s|$(HOST_PREFIX)|$(OCTAVE_ADD_PATH)|g;s|$(BUILD_TOOLS_PREFIX)|$(OCTAVE_ADD_PATH)|g" {}' \; ;
4807
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
177 # some additional script files to fix
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
178 $(SED) -i "s|datadir = '/usr/share'|datadir = '$(OCTAVE_ADD_PATH)/share'|g" '$(OCTAVE_DIST_DIR)$(OCTAVE_ADD_PATH)/bin/makeinfo'
9fa4ad9a659a * binary-dist-rules.mk: in mingw, update all non ext script files for /mingXX path
John Donoghue
parents: 4795
diff changeset
179
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
180 endef
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
181 else
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
182 define copy-windows-dist-files
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
183 echo " DLL files..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
184 cp /mingw/bin/*.dll $(OCTAVE_DIST_DIR)/bin
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
185 echo " README.html..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
186 cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
187 echo " refblas..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
188 cp $(OCTAVE_DIST_DIR)/bin/libblas.dll $(OCTAVE_DIST_DIR)/bin/librefblas.dll
5955
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
189 echo " installing octave-launch.exe..."
f42752ce0ae3 new octave-launcher.exe program from John Donoghue
John W. Eaton <jwe@octave.org>
parents: 5954
diff changeset
190 cp $(TOP_BUILD_DIR)/installer-files/octave-launch.exe $(OCTAVE_DIST_DIR)/
5957
9cd5425b033b octave-launch-firsttime: New launcher executable for starting Octave first time.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5956
diff changeset
191 cp $(TOP_BUILD_DIR)/installer-files/octave-launch-firsttime.exe $(OCTAVE_DIST_DIR)/
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
192 echo " octave.vbs..."
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
193 cp $(TOP_DIR)/installer-files/octave.vbs $(OCTAVE_DIST_DIR)/
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
194 cp $(TOP_DIR)/installer-files/octave-firsttime.vbs $(OCTAVE_DIST_DIR)/
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4174
diff changeset
195 cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
4793
202fa20cf559 add msys2 environment/tools option, use seprate post-install script to finalize install
John Donoghue
parents: 4788
diff changeset
196 cp $(TOP_DIR)/installer-files/post-install.bat $(OCTAVE_DIST_DIR)/
5954
90a4202652e7 Don't delete octave wrapper executables when packaging for Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5742
diff changeset
197 echo " installing octave.bat script files..."
4767
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
198 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/bin/octave.bat
a800e350d88b use .bat file for octave.exe/octave-version.exe (Bug #53938)
John Donoghue
parents: 4698
diff changeset
199 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/bin/octave-$($(OCTAVE_TARGET)_VERSION).bat
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
200 endef
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
201 endif
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
202 endif
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
203
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
204 define make-dist-files-writable
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
205 echo "making all dist files writable by user..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
206 chmod -R u+w $(OCTAVE_DIST_DIR)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
207 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
208
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
209 ifeq ($(STRIP_DIST_FILES),yes)
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
210 ifeq ($(MXE_WINDOWS_BUILD),yes)
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
211 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
212 echo "stripping files..."
5231
ad00dd601316 * binary-dist-rules.mk: dont strip the msys-2.0.dll
John Donoghue
parents: 5067
diff changeset
213 for f in `find $(OCTAVE_DIST_DIR) -name '*.dll' -o -name '*.exe' -o -name '*.oct' | $(GREP) -v "notepad++" | $(GREP) -v "msys-2.0.dll"`; do \
4913
0958cf066f1a Don't strip files starting with a shebang (bug #55281).
Markus Mützel <markus.muetzel@gmx.de>
parents: 4906
diff changeset
214 if [ "$$(head -n1 $$f | cut -c1-2)" != "#!" ]; then \
0958cf066f1a Don't strip files starting with a shebang (bug #55281).
Markus Mützel <markus.muetzel@gmx.de>
parents: 4906
diff changeset
215 $(MXE_STRIP) $$f; \
0958cf066f1a Don't strip files starting with a shebang (bug #55281).
Markus Mützel <markus.muetzel@gmx.de>
parents: 4906
diff changeset
216 fi; \
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
217 done
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
218 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
219 else
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
220 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
221 echo "stripping files..."
3446
f827586fef9c * binary-dist-rules.mk: don't use $(shell ...) in shell for loop
John W. Eaton <jwe@octave.org>
parents: 3444
diff changeset
222 for f in `find $(OCTAVE_DIST_DIR) -type f -a -perm /a+x`; do \
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
223 case "`file $$f`" in \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
224 *script*) \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
225 ;; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
226 *executable* | *archive* | *"shared object"*) \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
227 $(MXE_STRIP) $$f; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
228 ;; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
229 esac; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
230 done
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
231 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
232 endif
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
233 else
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
234 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
235 echo "not stripping files..."
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
236 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
237 endif
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
238
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
239 OCTAVE_WRAPPER_SCRIPTS = octave octave-cli octave-config
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
240
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
241 ifeq ($(MXE_SYSTEM), gnu-linux)
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
242 define install-octave-wrapper-scripts
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
243 echo "installing octave wrapper scripts..."
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
244 for f in $(OCTAVE_WRAPPER_SCRIPTS); do \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
245 mv $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION) \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
246 $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION).real; \
4990
a059052f4807 * binary-dist-rules.mk: use full path for octave-wrapper.in
John Donoghue <john.donoghue@ieee.org>
parents: 4913
diff changeset
247 $(SED) < $(TOP_DIR)/octave-wrapper.in \
4506
f3d64fe692e6 octave-wrapper.in: Include GCC library directory in LD_LIBRARY_PATH.
John W. Eaton <jwe@octave.org>
parents: 4254
diff changeset
248 -e "s|@GCC_VERSION@|$(native-gcc_VERSION)|" \
f3d64fe692e6 octave-wrapper.in: Include GCC library directory in LD_LIBRARY_PATH.
John W. Eaton <jwe@octave.org>
parents: 4254
diff changeset
249 -e "s|@GCC_ARCH@|$(TARGET)|" \
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
250 -e "s|@OCTAVE_VERSION@|$($(OCTAVE_TARGET)_VERSION)|" \
3862
c08abc3f5bf3 correctly extract first two digits of gnuplot version number
John W. Eaton <jwe@octave.org>
parents: 3817
diff changeset
251 -e "s|@GNUPLOT_MAJOR_MINOR_VERSION@|$(shell echo $(gnuplot_VERSION) | $(SED) -e 's/\(^[0-9][0-9]*\.[0-9][0-9]*\)\..*/\1/')|" \
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
252 -e "s|@PROGRAM_NAME@|$$f|" > $$f-t \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
253 && $(INSTALL) -m 755 $$f-t $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION); \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
254 rm -f $(OCTAVE_DIST_DIR)/bin/$$f; \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
255 ln -s $$f-$($(OCTAVE_TARGET)_VERSION) $(OCTAVE_DIST_DIR)/bin/$$f; \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
256 done
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
257 endef
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
258 else
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
259 define install-octave-wrapper-scripts
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
260 echo "no octave wrapper scripts to install for this system..."
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
261 endef
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
262 endif
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
263
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
264 .PHONY: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
265 binary-dist-files: $(BINARY_DIST_DEPS)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
266 @$(delete-dist-directory)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
267 @$(make-dist-directory)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
268 @$(copy-dist-files)
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
269 @$(copy-windows-dist-files)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
270 @$(make-dist-files-writable)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
271 @$(strip-dist-files)
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
272 @$(install-octave-wrapper-scripts)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
273
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
274 define make-installer-file
3571
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
275 if [ -f $(OCTAVE_NSI_FILE) ]; then \
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
276 echo "deleting previous installer script..."; \
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
277 rm -f $(OCTAVE_NSI_FILE); \
3569
c53ea91b338b don't delete generated installer script
John W. Eaton <jwe@octave.org>
parents: 3544
diff changeset
278 fi
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
279 echo "generating installer script..."
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
280 $(TOP_BUILD_DIR)/tools/makeinst-script.sh $(OCTAVE_DIST_DIR) $(OCTAVE_DIST_NAME)-installer.exe $(OCTAVE_NSI_FILE)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
281 echo "generating installer..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
282 $(TARGET)-makensis $(OCTAVE_NSI_FILE) > $(TOP_BUILD_DIR)/dist/nsis.log
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
283 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
284
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
285 $(OCTAVE_DIST_NAME)-installer.exe: nsis binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
286 @$(make-installer-file)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
287
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
288 .PHONY: nsis-installer
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
289 nsis-installer: $(OCTAVE_DIST_NAME)-installer.exe
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
290
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
291 define make-7z-dist
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
292 echo "generating 7z file..."
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
293 cd $(TOP_BUILD_DIR)/dist && p7zip -k $(OCTAVE_DIST_NAME)
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
294 endef
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
295
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
296 .PHONY: 7z-dist
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
297 7z-dist: binary-dist-files
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
298 @$(make-7z-dist)
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
299
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
300 define make-zip-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
301 echo "generating zip file..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
302 cd $(TOP_BUILD_DIR)/dist \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
303 && zip -q -9 -r $(OCTAVE_DIST_NAME).zip $(OCTAVE_DIST_NAME)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
304 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
305
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
306 .PHONY: zip-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
307 zip-dist: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
308 @$(make-zip-dist)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
309
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
310 define make-tar-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
311 echo "generating tar file..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
312 cd $(TOP_BUILD_DIR)/dist \
3432
5fc3d674ca3a Correctly name output of dist-tar with .tgz, not .zip, extension.
Rik <rik@octave.org>
parents: 3431
diff changeset
313 && tar -c -z -f $(OCTAVE_DIST_NAME).tgz $(OCTAVE_DIST_NAME)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
314 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
315
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
316 .PHONY: tar-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
317 tar-dist: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
318 @$(make-tar-dist)