Mercurial > mxe-octave
annotate binary-dist-rules.mk @ 3468:24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Jan 2014 14:37:27 -0500 |
parents | 9ea85a4191a1 |
children | 6a97f4d1dedb |
rev | line source |
---|---|
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 ifeq ($(STABLE_BUILD),yes) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 OCTAVE_DIST_NAME := octave-$($(OCTAVE_TARGET)_VERSION) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 else |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 OCTAVE_DIST_NAME := octave-$(DATE) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 endif |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 OCTAVE_DIST_DIR := $(TOP_DIR)/dist/$(OCTAVE_DIST_NAME) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 OCTAVE_NSI_FILE := $(TOP_DIR)/dist/octave.nsi |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
12 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
|
13 WINDOWS_BINARY_DIST_DEPS := \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
14 msys-base \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
15 native-gcc \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
16 native-binutils \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
17 npp |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
18 TAR_H_OPTION := -h |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 endif |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
20 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 BINARY_DIST_DEPS := \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 $(OCTAVE_TARGET) \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 octave-forge-packages \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
24 units \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 transfig \ |
3435
9fcc72373e24
build stable-octave package by default
John W. Eaton <jwe@octave.org>
parents:
3433
diff
changeset
|
26 $(WINDOWS_BINARY_DIST_DEPS) |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 define delete-dist-directory |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 echo "deleting previous dist directory..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 rm -rf $(TOP_DIR)/dist |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 define make-dist-directory |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 echo "creating dist directory..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
35 mkdir -p $(OCTAVE_DIST_DIR) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 |
3467
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
38 ifeq ($(MXE_NATIVE_BUILD),yes) |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
39 define generate-dist-exclude-list |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
40 echo "generating (empty) lists of files to exclude..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
41 echo " native files..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
42 rm -f $(TOP_DIR)/excluded-native-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
43 touch $(TOP_DIR)/excluded-native-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
44 echo " gcc cross compiler files..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
45 rm -f $(TOP_DIR)/excluded-gcc-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
46 touch $(TOP_DIR)/excluded-gcc-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
47 endef |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
48 else |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
49 define generate-dist-exclude-list |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
50 echo "generating lists of files to exclude..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
51 echo " native files..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
52 echo "./$(TARGET)" > $(TOP_DIR)/excluded-native-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
53 echo "./bin/$(TARGET)-*.exe" >> $(TOP_DIR)/excluded-native-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
54 echo " gcc cross compiler files..." |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
55 cd $(TOP_DIR)/cross-tools/$(HOST_PREFIX) \ |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
56 && find . -type f -o -type l | sed "s,./,," > $(TOP_DIR)/excluded-gcc-files |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
57 endef |
9ea85a4191a1
* binary-dist-rules.mk: Don't exclude files in native builds.
John W. Eaton <jwe@octave.org>
parents:
3466
diff
changeset
|
58 endif |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 define copy-dist-files |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 echo "copying files..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 echo " octave and dependencies..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 cd $(HOST_PREFIX) \ |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
64 && tar -c $(TAR_H_OPTION) -X $(TOP_DIR)/excluded-gcc-files -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
|
65 echo " octaverc file..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
66 cp $(TOP_DIR)/build_packages.m $(OCTAVE_DIST_DIR)/src \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 && cp $(TOP_DIR)/octaverc $(OCTAVE_DIST_DIR)/share/octave/site/m/startup/octaverc |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
68 echo " build_packages.m..." |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
69 cp $(TOP_DIR)/build_packages.m $(OCTAVE_DIST_DIR)/src |
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) |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
73 define copy-windows-dist-files |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
74 echo " native tools..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
75 cd $(TOP_DIR)/native-tools/usr \ |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
76 && tar -c $(TAR_H_OPTION) -X $(TOP_DIR)/excluded-native-files -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
|
77 echo " libgcc_s_dw2-1.dll to bin directory" |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
78 cd $(OCTAVE_DIST_DIR) \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
79 && cp lib/gcc/i686-pc-mingw32/libgcc_s_dw2-1.dll bin |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 echo " msys base files..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 cd $(TOP_DIR)/msys-base \ |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
82 && 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
|
83 echo " msys extension files..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
84 cd $(TOP_DIR)/msys-extension \ |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
85 && 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
|
86 echo " notepad++..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
87 cd $(TOP_DIR) \ |
3468
24356fc32aa0
* binary-dist-rules.mk: Only use -h tar option for Windows builds.
John W. Eaton <jwe@octave.org>
parents:
3467
diff
changeset
|
88 && tar -c $(TAR_H_OPTION) -f - notepad++ | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ) |
3453
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3446
diff
changeset
|
89 echo " README.html..." |
70b110956a4e
nsis-installer: Use custom page for shortcuts and install for all users.
John Donoghue <john.donoghue@ieee.org>
parents:
3446
diff
changeset
|
90 cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/ |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
91 endef |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
92 endif |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
93 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
94 define make-dist-files-writable |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
95 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
|
96 chmod -R u+w $(OCTAVE_DIST_DIR) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
97 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
99 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
|
100 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
|
101 define strip-dist-files |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
102 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
|
103 for f in `find $(OCTAVE_DIST_DIR) -name '*.dll' -o -name '*.exe'`; do \ |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
104 $(MXE_STRIP) $$f; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
105 done |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
106 endef |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
107 else |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
108 define strip-dist-files |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
109 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
|
110 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
|
111 case "`file $$f`" in \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
112 *script*) \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
113 ;; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
114 *executable* | *archive* | *"shared object"*) \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
115 $(MXE_STRIP) $$f; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
116 ;; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
117 esac; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
118 done |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
119 endef |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
120 endif |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
121 else |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
122 define strip-dist-files |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
123 echo "not stripping files..." |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
124 endef |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
125 endif |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
126 |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
127 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
|
128 |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
129 ifeq ($(MXE_SYSTEM), gnu-linux) |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
130 define install-octave-wrapper-scripts |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
131 echo "installing octave wrapper scripts..." |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
132 for f in $(OCTAVE_WRAPPER_SCRIPTS); do \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
133 mv $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION) \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
134 $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION).real; \ |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
135 $(SED) < octave-wrapper.in \ |
3466
cf594095a7dc
* octave-wrapper.in: Use version in real program name.
John W. Eaton <jwe@octave.org>
parents:
3465
diff
changeset
|
136 -e "s|@OCTAVE_VERSION@|$($(OCTAVE_TARGET)_VERSION)|" \ |
cf594095a7dc
* octave-wrapper.in: Use version in real program name.
John W. Eaton <jwe@octave.org>
parents:
3465
diff
changeset
|
137 -e "s|@GNUPLOT_MAJOR_MINOR_VERSION@|$(shell echo $(gnuplot_VERSION) | $(SED) -e 's/\(^[0-9]+\.[0-9]+\)/\1/')|" \ |
cf594095a7dc
* octave-wrapper.in: Use version in real program name.
John W. Eaton <jwe@octave.org>
parents:
3465
diff
changeset
|
138 -e "s|@PROGRAM_NAME@|$$f|" > $$f-t \ |
3465
32b09e905e9e
ensure octave wrapper programs are executable
John W. Eaton <jwe@octave.org>
parents:
3464
diff
changeset
|
139 && $(INSTALL) -m 755 $$f-t $(OCTAVE_DIST_DIR)/bin/$$f-$($(OCTAVE_TARGET)_VERSION); \ |
3464
23efd381ae4a
binary-dist-rules.mk: Ensure that octave, octave-config, and
John W. Eaton <jwe@octave.org>
parents:
3453
diff
changeset
|
140 rm -f $(OCTAVE_DIST_DIR)/bin/$$f; \ |
23efd381ae4a
binary-dist-rules.mk: Ensure that octave, octave-config, and
John W. Eaton <jwe@octave.org>
parents:
3453
diff
changeset
|
141 ln -s $$f-$($(OCTAVE_TARGET)_VERSION) $(OCTAVE_DIST_DIR)/bin/$$f; \ |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
142 done |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
143 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
144 else |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
145 define install-octave-wrapper-scripts |
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
146 echo "no octave wrapper scripts to install for this system..." |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
147 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
148 endif |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
149 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
150 .PHONY: binary-dist-files |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
151 binary-dist-files: $(BINARY_DIST_DEPS) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
152 @$(delete-dist-directory) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
153 @$(make-dist-directory) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
154 @$(generate-dist-exclude-list) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
155 @$(copy-dist-files) |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
156 @$(copy-windows-dist-files) |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
157 @$(make-dist-files-writable) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
158 @$(strip-dist-files) |
3442
ebe73c541a16
allow binary dist to work for gnu-linux target
John W. Eaton <jwe@octave.org>
parents:
3435
diff
changeset
|
159 @$(install-octave-wrapper-scripts) |
3431
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
160 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
161 define make-installer-file |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
162 echo "generating installer script..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
163 ./makeinst-script.sh $(OCTAVE_DIST_DIR) $(OCTAVE_NSI_FILE) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
164 echo "generating installer..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
165 $(TARGET)-makensis $(OCTAVE_NSI_FILE) > $(TOP_DIR)/dist/nsis.log |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
166 echo "deleting installer script..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 rm -f $(OCTAVE_NSI_FILE) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
168 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
169 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
170 $(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
|
171 @$(make-installer-file) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
172 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
173 .PHONY: nsis-installer |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
174 nsis-installer: $(OCTAVE_DIST_NAME)-installer.exe |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
175 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
176 define make-zip-dist |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
177 echo "generating zip file..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
178 cd $(TOP_DIR)/dist \ |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
179 && 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
|
180 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
181 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
182 .PHONY: zip-dist |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
183 zip-dist: binary-dist-files |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
184 @$(make-zip-dist) |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
185 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
186 define make-tar-dist |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
187 echo "generating tar file..." |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
188 cd $(TOP_DIR)/dist \ |
3432
5fc3d674ca3a
Correctly name output of dist-tar with .tgz, not .zip, extension.
Rik <rik@octave.org>
parents:
3431
diff
changeset
|
189 && 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
|
190 endef |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
191 |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
192 .PHONY: tar-dist |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
193 tar-dist: binary-dist-files |
a7c772aa106f
Move mk-dist script functionality into Makefile.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
194 @$(make-tar-dist) |