annotate binary-dist-rules.mk @ 4694:98bcbdaf910b

binary-dist-rules.mk: Fix dist file suffixes.
author John W. Eaton <jwe@octave.org>
date Tue, 08 May 2018 09:35:02 -0400
parents 63a6009ad3df
children 62d71f1bb5f5
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
3721
933b99febcf1 Expand options to support 3 possible sources of octave
John Donoghue <john.donoghue@ieee.org>
parents: 3717
diff changeset
14 ifeq ($(OCTAVE_TARGET),stable-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
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
24 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
25 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
26 WINDOWS_BINARY_DIST_DEPS := \
3709
c8546fe79bc9 download src files for msys packages when building Windows zip file or installer
John W. Eaton <jwe@octave.org>
parents: 3673
diff changeset
27 msys-base \
4174
2b631cf1c210 win7appid: new package
John Donoghue <john.donoghue@ieee.org>
parents: 4124
diff changeset
28 msys-base-sources \
2b631cf1c210 win7appid: new package
John Donoghue <john.donoghue@ieee.org>
parents: 4124
diff changeset
29 win7appid
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
30
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
31 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
32 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
33 native-binutils \
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
34 native-gcc \
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
35 npp
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
36 endif
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
37
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 endif
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 BINARY_DIST_DEPS := \
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 $(OCTAVE_TARGET) \
3471
6a97f4d1dedb installer: Add ref BLAS/OpenBLAS install option
John Donoghue <john.donoghue@ieee.org>
parents: 3468
diff changeset
42 blas-packages \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 octave-forge-packages \
3958
ac3abcea55e8 Add --enable-devel-tools option to configure
John Donoghue <john.donoghue@ieee.org>
parents: 3862
diff changeset
44 devel-packages \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45 units \
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 transfig \
3435
9fcc72373e24 build stable-octave package by default
John W. Eaton <jwe@octave.org>
parents: 3433
diff changeset
47 $(WINDOWS_BINARY_DIST_DEPS)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 define delete-dist-directory
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
50 echo "deleting previous dist directory..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
51 rm -rf $(TOP_BUILD_DIR)/dist
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 define make-dist-directory
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55 echo "creating dist directory..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 mkdir -p $(OCTAVE_DIST_DIR)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 define copy-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60 echo "copying files..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61 echo " octave and dependencies..."
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62 cd $(HOST_PREFIX) \
3522
9bc3862c2091 update binary-dist rules for new way of building gcc
John W. Eaton <jwe@octave.org>
parents: 3517
diff changeset
63 && tar -c $(TAR_H_OPTION) -f - . | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - )
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 echo " octaverc file..."
3522
9bc3862c2091 update binary-dist rules for new way of building gcc
John W. Eaton <jwe@octave.org>
parents: 3517
diff changeset
65 cp $(TOP_DIR)/octaverc $(OCTAVE_DIST_DIR)/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
66 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
67 echo " build_packages.m..."; \
e5e0b3f7244b Dont copy src directory if binary packages enabled
John Donoghue <john.donoghue@ieee.org>
parents: 4066
diff changeset
68 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
69 fi
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
70 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
71
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
72 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
73 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
74 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
75 echo " DLL files..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
76 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.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
77 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/*.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
78 cp $(BUILD_TOOLS_PREFIX)/lib/gcc/$(TARGET)/$(build-gcc_VERSION)/*.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
79 echo " msys base files..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
80 cd $(TOP_BUILD_DIR)/msys-base \
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
81 && tar -c $(TAR_H_OPTION) -f - . | ( 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
82 echo " msys extension files..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
83 cd $(TOP_BUILD_DIR)/msys-extension \
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
84 && tar -c $(TAR_H_OPTION) -f - . | ( 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
85 echo " notepad++..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
86 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
87 && 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
88 echo " README.html..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
89 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
90 echo " refblas..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
91 cp $(OCTAVE_DIST_DIR)/bin/libblas.dll $(OCTAVE_DIST_DIR)/bin/librefblas.dll
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3709
diff changeset
92 echo " octave.bat..."
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3709
diff changeset
93 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/
3817
6daa158a7018 nsis installer: use octave.vbs as laucher (Bug #41074)
John Donoghue <john.donoghue@ieee.org>
parents: 3721
diff changeset
94 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
95 cp $(TOP_DIR)/installer-files/octave-firsttime.vbs $(OCTAVE_DIST_DIR)/
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
96 cp $(TOP_BUILD_DIR)/HG-ID $(OCTAVE_DIST_DIR)/
3961
808ff354717a binary-dist-rules: fix paths of distributes .pc and .la files
John D
parents: 3958
diff changeset
97 echo " updating libtool references..."
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
98 find '$(OCTAVE_DIST_DIR)/' -type f -name "*.la" \
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
99 -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
100 echo " updating pkg-config .pc references..."
3963
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
101 find '$(OCTAVE_DIST_DIR)/lib/pkgconfig' -type f -name "*.pc" \
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
102 -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
103 if [ "$(ENABLE_DEVEL_TOOLS)" = "yes" ]; then \
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
104 cp $(TOP_DIR)/installer-files/cmdshell.bat $(OCTAVE_DIST_DIR)/; \
9d402d735dd1 nsis-installer: add bash window menu if devel tools enabled
John Donoghue
parents: 3961
diff changeset
105 fi
4686
63a6009ad3df fix host -config script path when building dist file
John Donoghue
parents: 4658
diff changeset
106 echo " updating script config tool references..."
63a6009ad3df fix host -config script path when building dist file
John Donoghue
parents: 4658
diff changeset
107 find '$(OCTAVE_DIST_DIR)/bin' -type f -name "*-config" \
63a6009ad3df fix host -config script path when building dist file
John Donoghue
parents: 4658
diff changeset
108 -exec $(SED) -i 's|$(HOST_PREFIX)|/usr|g;s|$(BUILD_TOOLS_PREFIX)|/usr|g' {} \; ;
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4174
diff changeset
109 cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
110 endef
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
111 else
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
112 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
113 echo " DLL files..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
114 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
115 echo " README.html..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
116 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
117 echo " refblas..."
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
118 cp $(OCTAVE_DIST_DIR)/bin/libblas.dll $(OCTAVE_DIST_DIR)/bin/librefblas.dll
3717
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3709
diff changeset
119 echo " octave.bat..."
70480095b6ed Use a bat file to run octave in windows (Bug #43164)
John Donoghue
parents: 3709
diff changeset
120 cp $(TOP_DIR)/installer-files/octave.bat $(OCTAVE_DIST_DIR)/
4254
7f2d5c8c4491 installer: update fc cache during install (Bug #45458)
John D
parents: 4174
diff changeset
121 cp $(TOP_DIR)/installer-files/fc_update.bat $(OCTAVE_DIST_DIR)/
3673
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
122 endef
972f2d9c76ca tar-dist: update dist rules for native-mingw tar-dist to work (Bug #42874)
John Donoghue
parents: 3588
diff changeset
123 endif
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
124 endif
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
125
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
126 define make-dist-files-writable
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127 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
128 chmod -R u+w $(OCTAVE_DIST_DIR)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 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
132 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
133 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
134 echo "stripping files..."
4119
0db86306c404 Strip compiled oct-files by default
Mike Miller <mtmiller@octave.org>
parents: 4078
diff changeset
135 for f in `find $(OCTAVE_DIST_DIR) -name '*.dll' -o -name '*.exe' -o -name '*.oct'`; do \
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
136 $(MXE_STRIP) $$f; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
137 done
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
138 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
139 else
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
140 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
141 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
142 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
143 case "`file $$f`" in \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
144 *script*) \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
145 ;; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
146 *executable* | *archive* | *"shared object"*) \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
147 $(MXE_STRIP) $$f; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
148 ;; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
149 esac; \
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
150 done
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
151 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
152 endif
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
153 else
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
154 define strip-dist-files
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
155 echo "not stripping files..."
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
156 endef
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
157 endif
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
158
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
159 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
160
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
161 ifeq ($(MXE_SYSTEM), gnu-linux)
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
162 define install-octave-wrapper-scripts
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
163 echo "installing octave wrapper scripts..."
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
164 for f in $(OCTAVE_WRAPPER_SCRIPTS); do \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
165 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
166 $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION).real; \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
167 $(SED) < 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
168 -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
169 -e "s|@GCC_ARCH@|$(TARGET)|" \
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
170 -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
171 -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
172 -e "s|@PROGRAM_NAME@|$$f|" > $$f-t \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
173 && $(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
174 rm -f $(OCTAVE_DIST_DIR)/bin/$$f; \
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
175 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
176 done
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
177 endef
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
178 else
3530
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
179 define install-octave-wrapper-scripts
1e09264307e8 binary-dist-rules.mk: Style fixes.
John W. Eaton <jwe@octave.org>
parents: 3529
diff changeset
180 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
181 endef
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182 endif
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
183
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
184 .PHONY: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
185 binary-dist-files: $(BINARY_DIST_DEPS)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
186 @$(delete-dist-directory)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
187 @$(make-dist-directory)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
188 @$(copy-dist-files)
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
189 @$(copy-windows-dist-files)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
190 @$(make-dist-files-writable)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
191 @$(strip-dist-files)
3442
ebe73c541a16 allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents: 3435
diff changeset
192 @$(install-octave-wrapper-scripts)
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
193
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
194 define make-installer-file
3571
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
195 if [ -f $(OCTAVE_NSI_FILE) ]; then \
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
196 echo "deleting previous installer script..."; \
44eb8941c35f fix make nsis-installer
John Donoghue <john.donoghue@ieee.org>
parents: 3569
diff changeset
197 rm -f $(OCTAVE_NSI_FILE); \
3569
c53ea91b338b don't delete generated installer script
John W. Eaton <jwe@octave.org>
parents: 3544
diff changeset
198 fi
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
199 echo "generating installer script..."
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
200 $(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
201 echo "generating installer..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
202 $(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
203 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
204
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
205 $(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
206 @$(make-installer-file)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
207
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
208 .PHONY: nsis-installer
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
209 nsis-installer: $(OCTAVE_DIST_NAME)-installer.exe
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
210
4658
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
211 define make-7z-dist
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
212 echo "generating 7z file..."
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
213 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
214 endef
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
215
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
216 .PHONY: 7z-dist
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
217 7z-dist: binary-dist-files
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
218 @$(make-7z-dist)
213da5688be0 update binary dist rules
John W. Eaton <jwe@octave.org>
parents: 4590
diff changeset
219
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
220 define make-zip-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
221 echo "generating zip file..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
222 cd $(TOP_BUILD_DIR)/dist \
3431
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
223 && 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
224 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
225
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
226 .PHONY: zip-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
227 zip-dist: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
228 @$(make-zip-dist)
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
229
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
230 define make-tar-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
231 echo "generating tar file..."
4066
0962acdde3be builld: allow out of source build
John Donoghue
parents: 4028
diff changeset
232 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
233 && 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
234 endef
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
235
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
236 .PHONY: tar-dist
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
237 tar-dist: binary-dist-files
a7c772aa106f Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff changeset
238 @$(make-tar-dist)