chiark / gitweb /
more stuff found lying about
[wordchain] / Makefile
index d6522790c7733695f031b68ef230aa10f9731983..b0d633aa2913e9bb4849190439c1427ff7589d33 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -76,7 +76,7 @@ $(RUSTLIB_OBJS): lib%.rlib: \
                --crate-type=rlib --crate-name=$* $($*_RUSTFLAGS))
 
 SRCEXT                 += go
-GOBLD                   = go build
+GOBUILD                         = go build
 
 TREELIBS                =
 VPATH                   =
@@ -166,6 +166,37 @@ mLib_VARIANTS               = sym
 mLib_LIBS               = -lmLib
 mLib-sym_CFLAGS                 = -DTREE=MLIB_SYM
 
+c++_VARIANTS           += map
+c++-map_CXXFLAGS        = -DTREE=CXX_MAP
+c++_VARIANTS           += uomap
+c++-uomap_CXXFLAGS      = -DTREE=CXX_UOMAP
+
+rust_VARIANTS          += btree
+rust-btree_RUSTFLAGS    = --cfg 'feature="btree"'
+rust_VARIANTS          += hash
+rust-hash_RUSTFLAGS     = --cfg 'feature="hash"'
+
+ALL_VARIANTS           += golang
+TARGETS                        += chain.golang
+CLEAN                  += chain.golang
+chain.golang: chain.go
+       $(call v-tag,GOBUILD)$(GOBUILD) -o $@ $<
+
+ALL_VARIANTS           += perl python
+
+lisp_VARIANTS           = clisp cmucl ccl ecl sbcl
+measure-lisp            = \
+       runlisp -L$1 chain.lisp -Ttime.$2.new $(DICT) >chain.$2.out
+define def-lisp-variant
+ALL_VARIANTS           += lisp-$1
+lisp-$1_PROGRAM                 = chain.lisp
+lisp-$1_MEASURE                 = $$(call measure-lisp,$1,$$*)
+endef
+$(foreach v,$(lisp_VARIANTS), \
+       $(eval $(call def-lisp-variant,$v)))
+
+-include local.mk
+
 define def-c-variant
 ALL_VARIANTS           += $1-$2
 TARGETS                        += chain.$1-$2
@@ -183,11 +214,6 @@ $(foreach t,$(TREELIBS), \
        $(foreach v,$($t_VARIANTS), \
                $(eval $(call def-c-variant,$t,$v))))
 
-c++_VARIANTS           += map
-c++-map_CXXFLAGS        = -DTREE=CXX_MAP
-c++_VARIANTS           += uomap
-c++-uomap_CXXFLAGS      = -DTREE=CXX_UOMAP
-
 define def-c++-variant
 ALL_VARIANTS           += c++-$1
 TARGETS                        += chain.c++-$1
@@ -203,11 +229,6 @@ endef
 $(foreach v,$(c++_VARIANTS), \
        $(eval $(call def-c++-variant,$v)))
 
-rust_VARIANTS          += btree
-rust-btree_RUSTFLAGS    = --cfg 'feature="btree"'
-rust_VARIANTS          += hash
-rust-hash_RUSTFLAGS     = --cfg 'feature="hash"'
-
 define def-rust-variant
 ALL_VARIANTS           += rust-$1
 TARGETS                        += chain.rust-$1
@@ -221,25 +242,6 @@ endef
 $(foreach v,$(rust_VARIANTS), \
        $(eval $(call def-rust-variant,$v)))
 
-ALL_VARIANTS           += golang
-TARGETS                        += chain.golang
-CLEAN                  += chain.golang
-chain.golang: chain.go
-       $(call v-tag,GOBLD)$(GOBLD) -o $@ $<
-
-ALL_VARIANTS           += perl python
-
-lisp_VARIANTS           = cmucl ccl ecl sbcl
-measure-lisp            = \
-       runlisp -L$1 chain.lisp -Ttime.$2.new $(DICT) >chain.$2.out
-define def-lisp-variant
-ALL_VARIANTS           += lisp-$1
-lisp-$1_PROGRAM                 = chain.lisp
-lisp-$1_MEASURE                 = $$(call measure-lisp,$1,$$*)
-endef
-$(foreach v,$(lisp_VARIANTS), \
-       $(eval $(call def-lisp-variant,$v)))
-
 CLEAN                  += ref
 ref: $(DICT)
        $(call v-tag,GEN)./chain.perl $(DICT) >$@.new && mv $@.new $@
@@ -259,6 +261,10 @@ $(MEASURES): measure/%: $$(or $$($$*_PROGRAM),chain.$$*) ref warm-cache
        $(call v-tag,MEASURE)$(or $($*_MEASURE),$(COMMON_MEASURE)) && \
                ./chkref chain.$*.out ref && mv time.$*.new time.$*
 
+list:
+       for i in $(ALL_VARIANTS); do echo $$i; done
+.PHONY: list
+
 .PHONY: measure $(MEASURES)
 all: $(TARGETS)