# kolam --- GraphQL implementation # Copyright © 2022 Arun Isaac # # This file is part of kolam. # # kolam is free software; you can redistribute it and/or modify it # under the terms of the GNU Affero General Public License as # published by the Free Software Foundation; either version 3 of the # License, or (at your option) any later version. # # kolam is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General # Public License for more details. # # You should have received a copy of the GNU Affero General Public # License along with kolam. If not, see # . include Makefile.include GUILE = guile GUILD = guild GIT = git GPG = gpg LZIP = lzip EMACS = emacs top_level_module_dir = $(project) sources = $(wildcard $(top_level_module_dir)/*.scm) objects = $(sources:.scm=.go) tests = $(wildcard tests/*.scm) distribute_files = $(sources) $(tests) \ COPYING NEWS.org README.org \ guix.scm Makefile configure configure.scm scmdir = $(datarootdir)/guile/site/$(guile_effective_version)/$(top_level_module_dir) godir = $(libdir)/guile/$(guile_effective_version)/site-ccache/$(top_level_module_dir) all: $(objects) %.go: %.scm $(GUILD) compile -L . -o $@ $< .PHONY: check install clean dist distcheck check: $(tests) $(GUILE) -L . $^ dist_archive = $(project)-$(version).tar.lz dist: $(dist_archive) $(dist_archive).asc $(dist_archive): .git/refs/heads/main $(GIT) archive --prefix $(basename $(basename $@))/ --format=tar main $(distribute_files) \ | $(LZIP) --force --output $@ %.asc: % $(GPG) --detach-sign --armor $< distcheck: $(dist_archive) $(GUILE) build-aux/distcheck.scm $(version) $< install: $(sources) $(objects) install -D $(sources) --target-directory $(scmdir) install -D $(objects) --target-directory $(godir) website: website/index.html website/index.html: README.org build-aux/build-home-page.el $(EMACS) -Q --batch --load build-aux/build-home-page.el --funcall build-website clean: rm -f $(objects) $(dist_archive) $(dist_archive).asc Makefile.include website/index.html