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
RevLine 
[425d063]1## Process this file with automake to produce Makefile.in
2
[4a7c2f0d]3ACLOCAL_AMFLAGS = -I m4
4
[47105bc]5SUBDIRS = . lib src doc tests
[425d063]6
[5ec2d6b]7# We never want to implicitly recurse into the vim subdirectory, but we still
8# want to distribute the files there.
[839db8b]9DIST_SUBDIRS = $(SUBDIRS) vim
[d1621779]10
[6e0cdc2c]11EXTRA_DIST = TODO OLDNEWS\
[fa8ae1e]12 desc.txt desc-aven.txt survex.spec\
[4844fb4]13 buildmacosx.sh
14
[6e4a123]15extra_bin = lib/*.msg\
[1aa3fb7]16 lib/unifont.pixelfont
[a72ed95]17extra_txt = lib/*.svx
[2eaaa3d]18extra_files = $(extra_bin) $(extra_txt)
[425d063]19
[1f22d4a]20# FIXME: need to keep in step with src/Makefile.am
[2e8608e]21base_progs = cad3d cavern diffpos extend sorterr 3dtopos dump3d
[2eaaa3d]22
[1c969fc]23AUTHORS: doc/AUTHORS.htm
24        w3m -dump doc/AUTHORS.htm > AUTHORS
[6c7fbd5]25
[79b37a4c]26HACKING: doc/HACKING.htm
27        w3m -dump doc/HACKING.htm > HACKING
28
[1c969fc]29TODO: doc/TODO.htm
30        w3m -dump doc/TODO.htm > TODO
[6c7fbd5]31
[2ed64d4]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
[3f32910]46mingw : all mingw_iss
[425d063]47
[e9a1d22]48mingw_iss : survex.iss
[d365aec]49        $(RM) -rf iss_tmp
[1d43ee5]50        mkdir iss_tmp
[de934bd4]51        cp $(extra_txt) survex.iss iss_tmp
[27b8b59]52        : # so the installer can display the license
[de934bd4]53        cp COPYING iss_tmp/COPYING.txt
[35903f9]54        cd doc && cp @HTMLFILES@ ../iss_tmp
[87681b8]55        : # convert LF to CR+LF
[b71c279]56        perl -p -i -e 's/\n/\r\n/' iss_tmp/*
[d5cc724]57        for f in $(base_progs) aven ; do cp src/$$f.exe iss_tmp ; done
[67ba15d]58        cp lib/icons/*.ico lib/images/*.png iss_tmp
[7612a72]59        : # not needed if we build wx without threads: gzip -dc /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > iss_tmp/mingwm10.dll
[d56306f]60        mkdir iss_tmp/manual
61        cp doc/manual/*.htm iss_tmp/manual
[87681b8]62        : # convert LF to CR+LF
[d56306f]63        perl -p -i -e 's/\n/\r\n/' iss_tmp/manual/*
[b462168]64        cp doc/manual/*.png iss_tmp/manual
[d365aec]65        cp $(extra_bin) iss_tmp
[adceff5]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
[5a0eabd]77        cp lib/*.isl iss_tmp
[d18e778]78        mkdir iss_tmp/proj
[706ddcf]79        cp -p /usr/${host}/share/proj/epsg /usr/${host}/share/proj/esri iss_tmp/proj
[0580c6a]80        : # Also need to reduce colour depth it appears:
81        : # src/png2bmp lib/icons/aven_about.png iss_tmp/logo.bmp
[5a0eabd]82        DISPLAY= wine "c:/Program Files/Inno Setup 5/ISCC.exe" iss_tmp/survex.iss
[1d43ee5]83        mv iss_tmp/Output/*.exe .
[d365aec]84        $(RM) -rf iss_tmp
[1d43ee5]85
[0fd6750]86.PHONY: mingw mingw_iss
Note: See TracBrowser for help on using the repository browser.