source: git/Makefile.am @ 938fee8

stereo
Last change on this file since 938fee8 was 2ed64d4, checked in by Olly Betts <olly@…>, 6 years ago

Factor out macOS Aven.app creation

Put it into make rule so it can be easily used by the homebrew formula.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1## Process this file with automake to produce Makefile.in
2
3ACLOCAL_AMFLAGS = -I m4
4
5SUBDIRS = . lib src doc tests
6
7# We never want to implicitly recurse into the vim subdirectory, but we still
8# want to distribute the files there.
9DIST_SUBDIRS = $(SUBDIRS) vim
10
11EXTRA_DIST = TODO OLDNEWS\
12 desc.txt desc-aven.txt survex.spec\
13 buildmacosx.sh
14
15extra_bin = lib/*.msg\
16 lib/unifont.pixelfont
17extra_txt = lib/*.svx
18extra_files = $(extra_bin) $(extra_txt)
19
20# FIXME: need to keep in step with src/Makefile.am
21base_progs = cad3d cavern diffpos extend sorterr 3dtopos dump3d
22
23AUTHORS: doc/AUTHORS.htm
24        w3m -dump doc/AUTHORS.htm > AUTHORS
25
26HACKING: doc/HACKING.htm
27        w3m -dump doc/HACKING.htm > HACKING
28
29TODO: doc/TODO.htm
30        w3m -dump doc/TODO.htm > TODO
31
32# Create Aven.app for macOS - run as e.g.:
33# make create-aven-app APP_PATH=Aven.app
34create-aven-app:
35        mkdir -p '$(APP_PATH)/Contents/MacOS' '$(APP_PATH)/Contents/Resources'
36        cp lib/Info.plist '$(APP_PATH)/Contents'
37        printf APPLAVEN > '$(APP_PATH)/Contents/PkgInfo'
38        for zip in lib/icons/*.iconset.zip ; do \
39          set -e; \
40          unzip -d '$(APP_PATH)/Contents/Resources' "$$zip"; \
41          i=`echo "$$zip"|sed 's!.*/\(.*\)\.zip$$!\1!'`; \
42          iconutil --convert icns '$(APP_PATH)/Contents/Resources/'"$$i"; \
43          rm -rf '$(APP_PATH)/Contents/Resources/'"$i"; \
44        done
45
46mingw : all mingw_iss
47
48mingw_iss : survex.iss
49        $(RM) -rf iss_tmp
50        mkdir iss_tmp
51        cp $(extra_txt) survex.iss iss_tmp
52        : # so the installer can display the license
53        cp COPYING iss_tmp/COPYING.txt
54        cd doc && cp @HTMLFILES@ ../iss_tmp
55        : # convert LF to CR+LF
56        perl -p -i -e 's/\n/\r\n/' iss_tmp/*
57        for f in $(base_progs) aven ; do cp src/$$f.exe iss_tmp ; done
58        cp lib/icons/*.ico lib/images/*.png iss_tmp
59        : # not needed if we build wx without threads: gzip -dc /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > iss_tmp/mingwm10.dll
60        mkdir iss_tmp/manual
61        cp doc/manual/*.htm iss_tmp/manual
62        : # convert LF to CR+LF
63        perl -p -i -e 's/\n/\r\n/' iss_tmp/manual/*
64        cp doc/manual/*.png iss_tmp/manual
65        cp $(extra_bin) iss_tmp
66        for d in /usr/i586-mingw32msvc/share/locale /usr/share/locale ; do \
67          if test -d "$d" ; then \
68            for f in "$d"/locale/*/LC_MESSAGES/wxstd.mo ; do \
69              a=`echo "$$f"|sed 's!^.*/\([^/]*\)/LC_MESSAGES/wxstd\.mo$!\1!'`; \
70              mkdir iss_tmp/$$a; \
71              cp "$$f" iss_tmp/$$a; \
72              echo 'Source: "'"$$a"'\wxstd.mo"; DestDir: "{app}\'"$$a"'"' ; \
73            done; \
74            break; \
75          fi \
76        done > iss_tmp/i18nfiles.iss
77        cp lib/*.isl iss_tmp
78        mkdir iss_tmp/proj
79        cp -p /usr/${host}/share/proj/epsg /usr/${host}/share/proj/esri iss_tmp/proj
80        : # Also need to reduce colour depth it appears:
81        : # src/png2bmp lib/icons/aven_about.png iss_tmp/logo.bmp
82        DISPLAY= wine "c:/Program Files/Inno Setup 5/ISCC.exe" iss_tmp/survex.iss
83        mv iss_tmp/Output/*.exe .
84        $(RM) -rf iss_tmp
85
86.PHONY: mingw mingw_iss
Note: See TracBrowser for help on using the repository browser.