include config.mk OUTPUT_DIR = $(abspath build) GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat makefile_dir = $(dir $(mkfile_path)) srfi_dir = ../srfi JSON_RPC_GOBJECT := $(OUTPUT_DIR)/json-rpc.go JSON_RPC_LOLEVEL_GOBJECT := $(OUTPUT_DIR)/json-rpc/lolevel.go SRFI_145_GOBJECT := $(OUTPUT_DIR)/srfi/srfi-145.go SRFI_180_GOBJECT := $(OUTPUT_DIR)/srfi/srfi-180.go GOBJECTS = $(SRFI_145_GOBJECT) $(SRFI_180_GOBJECT) $(JSON_RPC_GOBJECT) all: directories $(GOBJECTS) directories: mkdir -p $(OUTPUT_DIR)/json-rpc mkdir -p $(OUTPUT_DIR)/srfi $(JSON_RPC_LOLEVEL_GOBJECT): ../json-rpc-lolevel-guile.sld ../json-rpc-lolevel.scm GUILE_LOAD_COMPILED_PATH=${OUTPUT_DIR}/:${GUILE_LOAD_COMPILED_PATH} \ $(GUILD) compile $(GUILE_WARNINGS) --r7rs -o "$@" "$<" cd $(makefile_dir) $(JSON_RPC_GOBJECT): ../json-rpc-guile.sld ../json-rpc-implementation.scm $(JSON_RPC_LOLEVEL_GOBJECT) GUILE_LOAD_COMPILED_PATH=${OUTPUT_DIR}/:${GUILE_LOAD_COMPILED_PATH} \ $(GUILD) compile $(GUILE_WARNINGS) --r7rs -o "$@" "$<" cd $(makefile_dir) $(SRFI_145_GOBJECT): $(srfi_dir)/srfi-145.sld $(GUILD) compile $(GUILE_WARNINGS) --r7rs -o "$@" "$<" $(SRFI_180_GOBJECT): $(srfi_dir)/srfi-180.scm $(SRFI_145_GOBJECT) cd $(srfi_180_dir) GUILE_LOAD_COMPILED_PATH=${OUTPUT_DIR}/:${GUILE_LOAD_COMPILED_PATH} \ $(GUILD) compile $(GUILE_WARNINGS) --r7rs -o "$@" "$<" cd $(makefile_dir) install: directories mkdir -p $(GUILE_TARGET_SCM)/json-rpc mkdir -p $(GUILE_TARGET_SCM)/srfi mkdir -p $(GUILE_TARGET_GO)/json-rpc mkdir -p $(GUILE_TARGET_GO)/srfi cp ../json-rpc-implementation.scm $(GUILE_TARGET_SCM)/ cp ../json-rpc-lolevel-guile.sld $(GUILE_TARGET_SCM)/json-rpc/lolevel.sld cp ../json-rpc-guile.sld $(GUILE_TARGET_SCM)/json-rpc.sld cp -R $(srfi_dir)/srfi-145.sld $(srfi_dir)/srfi-180.scm $(srfi_dir)/check.scm $(srfi_dir)/180 $(GUILE_TARGET_SCM)/srfi/ cp $(JSON_RPC_LOLEVEL_GOBJECT) $(GUILE_TARGET_GO)/json-rpc/ cp $(JSON_RPC_GOBJECT) $(GUILE_TARGET_GO)/ cp $(OUTPUT_DIR)/srfi/*.go $(GUILE_TARGET_GO)/srfi/ uninstall: rm -Rf $(GUILE_TARGET_GO)/json-rpc* rm -Rf $(GUILE_TARGET_GO)/srfi/srfi-145.go rm -Rf $(GUILE_TARGET_GO)/srfi/srfi-145.go rm -Rf $(GUILE_TARGET_SCM)/json-rpc* rm -Rf $(GUILE_TARGET_SCM)/srfi/check.scm rm -Rf $(GUILE_TARGET_SCM)/srfi/180/ rm -Rf $(GUILE_TARGET_SCM)/srfi/srfi-145* rm -Rf $(GUILE_TARGET_SCM)/srfi/srfi-180* clean: rm -rf $(OUTPUT_DIR)/* .PHONY: all clean