roswell.roswell/Makefile.am
2026-02-21 21:57:01 +09:00

188 lines
5.6 KiB
Makefile

roslispdir = @roslispdir@
roslisppatchdir = @roslisppatchdir@
SUBDIRS = src
if MANUAL_INSTALL
MDS = ros.md ros-checkout.md ros-dump.md ros-init.md ros-install.md ros-list.md ros-setup.md ros-template.md \
ros-config.md ros-delete.md ros-emacs.md ros-run.md ros-use.md ros-wait.md ros-asdf.md ros-build.md ros-update.md \
ros-help.md ros-client.md ros-serve.md
dist_man1_MANS = $(MDS:%.md=documents/man/%.1)
endif
if MANUAL_GENERATE
SUBDIRS += documents
endif
ROSS = balus.ros \
build.ros \
checkout.ros \
client.ros \
config.ros \
compile-file.ros \
ecl-config.ros \
emacs.ros \
exec.ros \
dist.ros \
fmt.ros \
get.ros \
git.ros \
hg.ros \
run.ros \
setup.ros \
shell.ros \
version.ros \
wait.ros \
delete.ros \
dump.ros \
help.ros \
init.ros \
install.ros \
serve.ros \
update.ros \
list.ros \
make-depends.ros \
template.ros \
use.ros \
which.ros
LISPS = helper.el \
init.lisp \
util.lisp util-main.lisp \
util-swank.lisp \
locations.lisp \
patch-quicklisp.lisp \
extend-quicklisp.lisp \
extend-quicklisp-system.lisp \
system.lisp \
\
build-ros.lisp build-asd.lisp \
\
client-swank.lisp \
util-config.lisp \
dist-list.lisp dist-clean.lisp dist-enable.lisp dist-disable.lisp dist-add.lisp \
dist-delete.lisp dist-use.lisp dist-versions.lisp dist-preference.lisp dist-default.lisp \
\
delete-default.lisp delete-dump.lisp delete-git.lisp delete-asdf.lisp \
delete-env.lisp \
\
util-dump.lisp \
dump-ccl.lisp dump-clisp.lisp \
dump-cmucl.lisp dump-ecl.lisp dump-sbcl.lisp \
\
help-install.lisp help-options.lisp help-run.lisp \
\
init-default.lisp init-env.lisp init-dist.lisp \
\
util-install.lisp util-install-quicklisp.lisp \
install+7zip.lisp install-abcl-bin.lisp install-allegro.lisp \
install-ccl-bin.lisp install-clasp-bin.lisp install-clasp.lisp \
install-clisp.lisp install-clisp-head.lisp \
install-cmu-bin.lisp install-ecl.lisp install-quicklisp.lisp \
install-sbcl-bin.lisp install-sbcl.lisp install-sbcl-source.lisp \
install-sbcl-head.lisp \
install-slime.lisp install-sly.lisp \
install-lispworks.lisp install-mkcl.lisp \
install-npt.lisp \
install+externals-clasp.lisp install+ffcall.lisp \
install+msys2.lisp install+sigsegv.lisp install-asdf.lisp \
\
serve-default.lisp serve-swank.lisp \
update-git.lisp update-hg.lisp update-quicklisp.lisp update-default.lisp \
\
list-default.lisp \
list-dump.lisp list-git.lisp list-installed.lisp list-versions.lisp \
list-asdf.lisp list-env.lisp \
\
util-template.lisp \
\
util-use.lisp \
use-asdf.lisp use-env.lisp
dist_roslisp_DATA = $(LISPS:%=lisp/%)
dist_roslisp_SCRIPTS = $(ROSS:%=lisp/%)
dist_roslisppatch_DATA = patch/sbcl-1.3.11.patch patch/sbcl-posix-tests.patch
release-prepare:
ros scripts/release.ros prepare
release-commit:
ros scripts/release.ros release-commit
release-push:
ros scripts/release.ros release-push
release-changelog:
grep not-yet-released ChangeLog 2>&1 > /dev/null || ros scripts/release.ros changelog
release-ci:
ros scripts/release.ros release-ci
winrelease: roswell/Makefile
mkdir -p roswell/lisp
mkdir -p roswell/documents
cp src/ros.exe roswell
cp lisp/*.lisp lisp/*.ros lisp/*.el roswell/lisp
cd documents;MSYSTEM=MINGW64 make roswell.chm
cp documents/roswell.chm roswell/documents
7z a Roswell-`if [ "$$MSYSTEM" = "MINGW64" ];then echo x86_64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi`.zip roswell/ros.exe roswell/lisp/*.* roswell/documents/roswell.chm
debian:
ros debian/debian.ros all
test:
run-prove roswell-test.asd
brewpr:
git pull
if [ `uname` = 'Darwin' ];then brew bump-formula-pr -v --url=https://github.com/roswell/roswell/archive/`git describe --abbrev=0 --tags`.tar.gz roswell; fi
PACK = $(PACKAGE)-$(VERSION)-$(shell uname -s | tr '[A-Z]' '[a-z]' | sed -E 's/([^-]*).*/\1/')-$(ARCH)$(SBCL_BIN_VARIANT)
roswell/Makefile:
rm -rf roswell
$(MKDIR_P) roswell
echo "prefix = /usr/local" > $@
echo "mandir = $$""(prefix)/share/man" >> $@
echo "all: ros$(EXEEXT)" >> $@
echo "install:" >> $@
echo " mkdir -p $$""(prefix)/bin" >> $@
echo " mkdir -p $$""(prefix)/etc/roswell/patch" >> $@
echo " mkdir -p $$""(mandir)" >> $@
echo " install -c ros$(EXEEXT) $$""(prefix)/bin" >> $@
echo " install -c -m 644 $(ROSS:%=lisp/%) $(LISPS:%=lisp/%) $$""(prefix)/etc/roswell" >> $@
echo " install -c -m 644 $(dist_roslisppatch_DATA) $$""(prefix)/etc/roswell/patch" >> $@
if [ 'x$(MDS)' != 'x' ]; then \
echo " install -c $(MDS:%.md=man/%.1) $$""(mandir)" >> $@; \
fi
echo "" >> $@
echo "uninstall:" >> $@
echo " rm -rf $$""(prefix)/etc/roswell" >> $@
echo " rm -f $$""(prefix)/bin/ros$(EXEEXT)" >> $@
echo " cd $$""(mandir);rm -f $(MDS:%.md=%.1)" >> $@
$(PACK).tar.bz2: roswell/Makefile
$(MKDIR_P) roswell/patch
cd src;make ros$(EXEEXT)
cp src/ros$(EXEEXT) roswell
$(MKDIR_P) roswell/lisp
cp $(LISPS:%=lisp/%) roswell/lisp
cp $(ROSS:%=lisp/%) roswell/lisp
cp $(dist_roslisppatch_DATA) roswell/patch
if [ 'x$(MDS)' != x ]; then \
$(MKDIR_P) roswell/man; \
cp $(MDS:%.md=documents/man/%.1) roswell/man; \
fi
tar jcvf $(PACK).tar.bz2 roswell
pack: $(PACK).tar.bz2
WINPACK = roswell_$(VERSION)_$(shell if [ "$$MSYSTEM" = "MINGW64" ];then echo amd64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi)
pack.zip: $(PACK).tar.bz2
7z a $(WINPACK).zip roswell
make $(WINPACK).zip.hash
$(WINPACK).zip.hash:
echo "md5sum "`md5sum -t $(WINPACK).zip` > $(WINPACK).zip.hash
echo "sha1sum "`sha1sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
echo "sha256sum "`sha256sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
echo "sha512sum "`sha512sum -t $(WINPACK).zip` >> $(WINPACK).zip.hash
FORCE:
.PHONY: release-prepare release release-push test winrelease debian pack roswell/Makefile FORCE