xasm/Makefile

78 lines
2.5 KiB
Makefile
Raw Normal View History

2022-12-08 10:01:36 +00:00
VERSION = 3.2.1
2019-08-24 07:46:29 +00:00
prefix = /usr/local
bindir = $(prefix)/bin
mandir = $(prefix)/share/man/man1
2022-12-08 08:53:32 +00:00
ifeq ($(OS),Windows_NT)
EXEEXT = .exe
endif
2019-08-24 07:46:29 +00:00
2019-10-29 19:16:03 +00:00
SEVENZIP = 7z a -mx=9 -bd -bso0
2019-08-24 07:46:29 +00:00
2022-12-08 08:53:32 +00:00
all: xasm$(EXEEXT) xasm.html
2019-08-24 07:46:29 +00:00
2022-12-08 08:53:32 +00:00
xasm$(EXEEXT): source/app.d
2019-08-24 07:46:29 +00:00
dmd -of$@ -O -release $<
xasm.html: xasm.1.asciidoc
asciidoc -o - $< | sed -e "s/527bbd;/20a0a0;/" >$@
xasm.1: xasm.1.asciidoc
a2x -f manpage $<
install: xasm xasm.1
mkdir -p $(DESTDIR)$(bindir) && install xasm $(DESTDIR)$(bindir)/xasm
mkdir -p $(DESTDIR)$(mandir) && install -m 644 xasm.1 $(DESTDIR)$(mandir)/xasm.1
uninstall:
$(RM) $(DESTDIR)$(bindir)/xasm $(DESTDIR)$(mandir)/xasm.1
install-scite: xasm.properties
2021-12-23 15:43:11 +00:00
mkdir -p $(DESTDIR)$(prefix)/share/scite && install -m 644 $< $(DESTDIR)$(prefix)/share/scite/xasm.properties
2019-08-24 07:46:29 +00:00
uninstall-scite:
$(RM) $(DESTDIR)$(prefix)/share/scite/xasm.properties
dist: srcdist ../xasm-$(VERSION)-windows.zip
srcdist: MANIFEST
2019-10-29 19:16:03 +00:00
$(RM) ../xasm-$(VERSION).tar.gz && /usr/bin/tar -c --numeric-owner --owner=0 --group=0 --mode=644 -T MANIFEST --transform=s,,xasm-$(VERSION)/, | $(SEVENZIP) -tgzip -si ../xasm-$(VERSION).tar.gz
2019-08-24 07:46:29 +00:00
MANIFEST:
2019-10-29 19:16:03 +00:00
if test -e .git; then (git ls-files | grep -vF .gitignore && echo MANIFEST) | sort | dos2unix >$@ ; fi
2019-08-24 07:46:29 +00:00
2022-12-08 10:01:36 +00:00
../xasm-$(VERSION)-windows.zip: xasm.exe xasm.html xasm.properties signed
2019-08-24 07:46:29 +00:00
$(RM) $@ && $(SEVENZIP) -tzip $@ xasm.exe xasm.html xasm.properties
2022-12-08 08:53:32 +00:00
signed: xasm$(EXEEXT)
signtool sign -d "xasm $(VERSION)" -n "Open Source Developer, Piotr Fusik" -tr http://time.certum.pl -fd sha256 -td sha256 $< && touch $@
2021-06-20 17:01:53 +00:00
2019-08-24 07:46:29 +00:00
deb:
debuild -b -us -uc
2019-11-20 16:43:51 +00:00
osx: ../xasm-$(VERSION)-macos.dmg
2019-08-24 07:46:29 +00:00
2019-11-20 16:43:51 +00:00
../xasm-$(VERSION)-macos.dmg: osx/xasm osx/bin
2021-06-04 19:38:25 +00:00
ifdef PORK_CODESIGNING_IDENTITY
codesign --options runtime -f -s $(PORK_CODESIGNING_IDENTITY) osx/xasm
endif
2019-11-20 16:43:51 +00:00
hdiutil create -volname xasm-$(VERSION)-macos -srcfolder osx -format UDBZ -fs HFS+ -imagekey bzip2-level=3 -ov $@
2021-06-04 19:38:25 +00:00
ifdef PORK_NOTARIZING_CREDENTIALS
2021-06-21 20:40:50 +00:00
xcrun altool --notarize-app --primary-bundle-id com.github.pfusik.xasm $(PORK_NOTARIZING_CREDENTIALS) --file $@ \
2021-06-04 19:50:23 +00:00
| perl -pe 's/^RequestUUID =/xcrun altool $$ENV{PORK_NOTARIZING_CREDENTIALS} --notarization-info/ or next; $$c = $$_; until (/Status: success/) { sleep 20; $$_ = `$$c`; print; } last;'
2021-06-04 19:38:25 +00:00
endif
2019-08-24 07:46:29 +00:00
2019-10-06 15:07:42 +00:00
osx/xasm: source/app.d
2021-06-04 19:38:25 +00:00
mkdir -p osx && dmd -of$@ -O -release $< && rm -f osx/xasm.o
2019-08-24 07:46:29 +00:00
osx/bin:
mkdir -p osx && ln -s /usr/local/bin $@
2019-08-24 07:46:29 +00:00
clean:
2021-06-20 17:01:53 +00:00
$(RM) xasm xasm.exe xasm.obj xasm.html xasm.1 signed
2019-08-24 07:46:29 +00:00
rm -rf osx
.PHONY: all install uninstall install-scite uninstall-scite dist srcdist MANIFEST deb osx clean
.DELETE_ON_ERROR: