1 # This is free and unencumbered software released into the public
2 # domain. To the extent possible under law, the author of this file
3 # waives all copyright and related or neighboring rights to it.
5 $(call include-once.
,programs.mk
)
8 osx-x64.zip osx-ia32.zip \
9 linux-x64.
tar.gz linux-ia32.
tar.gz \
12 nwjs-pattern
:= $(addprefix nwjs-v
%-,$(nwjs-platforms
))
14 # These are like 30MB, don't download them every time.
15 .PRECIOUS
: $(nwjs-pattern
)
19 # HTTP-only - https://github.com/nwjs/nw.js/issues/3393
20 wget
-O
'$@'.inprogress
'http://dl.nwjs.io/v$(*F)/$(@F)'
21 mv
'$@'.inprogress
"$@"
23 nwjs-version ?
= 0.12.0
25 nwjs-directx
= $(addprefix $(nwjsdir
),d3dcompiler_43.dll d3dcompiler_46.dll
)
27 nwjs
= $(nwjsdir
)nwjs-v
$(firstword $(value nwjs-version-
$1) $(nwjs-version
))-$1
29 nwjs-archives
= $(foreach p
,$(nwjs-platforms
),$(call nwjs
,$(p
)))
31 define nwjs-package-osx
35 mv
$(@D
)/$(notdir $(2:.zip
=)) $(@
:.zip
=)
36 tools
/generate-osx-app
$(@
:.zip
=) $1
38 mv
$(@
:.zip
=)/credits.html
$(@
:.zip
=)/nwjs\ credits.html
39 cd
$(@D
) && $(ZIP
) -r
$(@F
) $(@F
:.zip
=)
43 %-osx-ia32.zip
: %.nw
$(call nwjs
,osx-ia32.zip
)
44 $(call nwjs-package-osx
,$<,$(word 2,$^
))
46 %-osx-x64.zip
: %.nw
$(call nwjs
,osx-x64.zip
)
47 $(call nwjs-package-osx
,$<,$(word 2,$^
))
49 define nwjs-package-linux
51 $(RM
) -r
$(@
:.
tar.gz
=)
53 $(MKDIR
) $(@
:.
tar.gz
=)
54 mv
$(@D
)/$(notdir $(2:.
tar.gz
=)) $(@
:.
tar.gz
=)/nw
55 cp
-a
$1 $(@
:.
tar.gz
=)/nw
/package.nw
56 cp
-a tools
/nw-linux-wrapper
$(@
:.
tar.gz
=)/`echo $(notdir $1) | sed -E 's/_.+//'`
57 $(RM
) $(@
:.
tar.gz
=)/nw
/nwjc
58 mv
$(@
:.
tar.gz
=)/nw
/credits.html
$(@
:.
tar.gz
=)/nw
/nwjs\ credits.html
59 tar -czf
$@
-C
$(@D
) $(@F
:.
tar.gz
=)
60 $(RM
) -r
$(@
:.
tar.gz
=)
63 %-linux-ia32.
tar.gz
: %.nw
$(call nwjs
,linux-ia32.
tar.gz
)
64 $(call nwjs-package-linux
,$<,$(word 2,$^
))
66 %-linux-x64.
tar.gz
: %.nw
$(call nwjs
,linux-x64.
tar.gz
)
67 $(call nwjs-package-linux
,$<,$(word 2,$^
))
69 nwjs-icon
= $(shell $(UNZIP
) -p
$1 package.json | grep
-Eo
'"[^"]+.ico"' -m
1)
71 define nwjs-package-win
75 mv
$(@D
)/$(notdir $(2:.zip
=)) $(@
:.zip
=)
76 $(RM
) $(@
:.zip
=)/nwjc.exe
77 $(UNZIP
) -p
$< $(call nwjs-icon
,$<) > $(@D
)/icon.ico
78 $(WINE
) tools
/rcedit.exe
$(@
:.zip
=)/nw.exe
--set-icon
$(@D
)/icon.ico
80 mv
$(@
:.zip
=)/credits.html
$(@
:.zip
=)/nwjs\ credits.html
81 cp
-a
$< $(@
:.zip
=)/package.nw
82 cp
-a
$(nwjs-directx
) $(@
:.zip
=)
83 mv
$(@
:.zip
=)/nw.exe
$(@
:.zip
=)/`echo $(notdir $1) | sed -E 's/_.+/.exe/'`
84 cd
$(@D
) && $(ZIP
) -r
$(@F
) $(@F
:.zip
=)
88 %-win-ia32.zip
: %.nw
$(call nwjs
,win-ia32.zip
) $(nwjs-directx
)
89 $(call nwjs-package-win
,$<,$(word 2,$^
))
92 wget
-O
$@
'https://github.com/cefsharp/cef-binary/raw/1e51255cf77d267899bf7834768b8774affaad2d/cef_binary_3.y.z_windows32/Release/'$(notdir $@
)
94 $(nwjsdir
)dxwebsetup.exe
:
95 wget
-O
$@ https
://download.microsoft.com
/download
/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C
/dxwebsetup.exe
98 $(RM
) $(nwjs-archives
)
100 $(RM
) $(nwjsdir
)dxwebsetup.exe