aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-07-13 13:56:30 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-07-13 13:56:30 +0200
commitd18bd78ad0cf58083734c9506ef3f64f5f94f29d (patch)
treeb91a764469c668a8c29df76390191787e998338b /Makefile
parentmain accepts GUILE env var. (diff)
downloadcalp-d18bd78ad0cf58083734c9506ef3f64f5f94f29d.tar.gz
calp-d18bd78ad0cf58083734c9506ef3f64f5f94f29d.tar.xz
Clean up makefile.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile70
1 files changed, 13 insertions, 57 deletions
diff --git a/Makefile b/Makefile
index 9ad9f533..dc5c4c51 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,7 @@
-.PHONY: all clean tests html
+.PHONY: all clean test
-CC := gcc
-
-export LD_LIBRARY_PATH=$(PWD)/lib
-export GUILE_AUTO_COMPILE=0
-
-CFLAGS = -std=gnu11 -Wall -Wextra -ggdb -fPIC $(shell guile-config compile)
-LDFLAGS = $(shell guile-config link)
-
-LIBS = libguile-calendar.so
-SO_FILES = $(addprefix lib/, $(LIBS))
-
-H_FILES = $(wildcard src/*.h)
-C_FILES = $(wildcard src/*.c)
-
-SCM_C_FILES = $(wildcard src/*.scm.c)
-X_FILES = $(SCM_C_FILES:.scm.c=.x)
-
-O_FILES = $(C_FILES:src/%.c=obj/%.o)
+GUILE_SITE_DIR=$(shell guile -c "(display (%site-dir))")
+GUILE_CCACHE_DIR=$(shell guile -c "(display (%site-ccache-dir))")
SCM_FILES = $(shell find module/ -type f -name \*.scm)
GO_FILES = $(SCM_FILES:%=obj/%.go)
@@ -28,50 +12,22 @@ GUILE_C_FLAGS = -Lmodule \
-Wmacro-use-before-definition -Warity-mismatch \
-Wduplicate-case-datum -Wbad-case-datum
-.SECONDARY: $(X_FILES) $(O_FILES)
-
-
-
-all: $(SO_FILES) $(GO_FILES)
+all: $(GO_FILES)
-src/%.x : src/%.scm.c
- guile-snarf -o $@ $< $(CFLAGS)
-
-obj/%.scm.o : src/%.scm.c src/%.x
- @mkdir -p obj
- $(CC) -c $(CFLAGS) -o $@ $<
-
-obj/%.o : src/%.c # $(H_FILES) $(X_FILES)
- @mkdir -p obj
- $(CC) -c $(CFLAGS) -o $@ $<
-
-lib/%.so: $(O_FILES)
- @mkdir -p lib
- $(CC) -shared -o $@ $^ $(LDFLAGS)
-
-obj/module/vcomponent/primitive.scm.go: module/vcomponent/primitive.scm $(SO_FILES)
+obj/%.scm.go: %.scm
@mkdir -p obj
guild compile $(GUILE_C_FLAGS) -o $@ $<
-obj/%.scm.go: %.scm
- @mkdir -p obj
- guild compile $(GUILE_C_FLAGS) -o $@ $<
-
-html: $(GO_FILES)
- mkdir -p html
- ln -sf ../static html
- module/main.scm html -f 2019-10-01 -t 2019-12-31 > html/index.html
-
-tags: $(C_FILES) $(H_FILES)
- ctags -R
- ./rfc-tags rfc5545.txt >> tags
-
clean:
- -rm -r html
-rm -r obj
- -rm -r lib
- -rm src/*.x
+install:
+ install -d $(DESTDIR)$(GUILE_SITE_DIR) $(DESTDIR)$(GUILE_CCACHE_DIR)
+ rsync -a module/ $(DESTDIR)$(GUILE_SITE_DIR)
+ rsync -a obj/ $(DESTDIR)$(GUILE_CCACHE_DIR)
+ install -d $(DESTDIR)/usr/share/calp/www
+ rsync -a static $(DESTDIR)/usr/share/calp/www
+ # TODO main, tzget
-tests:
+test:
tests/run-tests.scm