mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-19 19:20:23 +02:00
DRY for whippet variant cflags
This commit is contained in:
parent
f9330f789c
commit
8f93e23a5f
1 changed files with 26 additions and 32 deletions
58
Makefile
58
Makefile
|
@ -32,8 +32,7 @@ CFLAGS=-Wall -flto -fno-strict-aliasing -fvisibility=hidden -Wno-unused $(BUILD_
|
||||||
CPPFLAGS=-Iapi
|
CPPFLAGS=-Iapi
|
||||||
LDFLAGS=-lpthread -flto
|
LDFLAGS=-lpthread -flto
|
||||||
DEPFLAGS=-MMD -MP -MF $(@:%.o=.deps/%.d)
|
DEPFLAGS=-MMD -MP -MF $(@:%.o=.deps/%.d)
|
||||||
OUTPUT_OPTION=$(DEPFLAGS) -o $@
|
COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(DEPFLAGS) -o $@
|
||||||
COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(OUTPUT_OPTION)
|
|
||||||
LINK=$(CC) $(LDFLAGS) -o $@
|
LINK=$(CC) $(LDFLAGS) -o $@
|
||||||
PLATFORM=gnu-linux
|
PLATFORM=gnu-linux
|
||||||
|
|
||||||
|
@ -71,42 +70,32 @@ GC_STEM_$(1)=whippet
|
||||||
GC_CFLAGS_$(1)=$(2)
|
GC_CFLAGS_$(1)=$(2)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call whippet_variant,whippet,\
|
define generational_whippet_variants
|
||||||
-DGC_PRECISE_ROOTS=1))
|
$(call whippet_variant,$(1)whippet,$(2))
|
||||||
$(eval $(call whippet_variant,stack_conservative_whippet,\
|
$(call whippet_variant,$(1)generational_whippet,$(2) -DGC_GENERATIONAL=1)
|
||||||
-DGC_CONSERVATIVE_ROOTS=1))
|
endef
|
||||||
$(eval $(call whippet_variant,heap_conservative_whippet,\
|
|
||||||
-DGC_CONSERVATIVE_ROOTS=1 -DGC_CONSERVATIVE_TRACE=1))
|
|
||||||
|
|
||||||
$(eval $(call whippet_variant,parallel_whippet,\
|
define parallel_whippet_variants
|
||||||
-DGC_PARALLEL=1 -DGC_PRECISE_ROOTS=1))
|
$(call generational_whippet_variants,$(1),$(2))
|
||||||
$(eval $(call whippet_variant,stack_conservative_parallel_whippet,\
|
$(call generational_whippet_variants,$(1)parallel_,$(2) -DGC_PARALLEL=1)
|
||||||
-DGC_PARALLEL=1 -DGC_CONSERVATIVE_ROOTS=1))
|
endef
|
||||||
$(eval $(call whippet_variant,heap_conservative_parallel_whippet,\
|
|
||||||
-DGC_PARALLEL=1 -DGC_CONSERVATIVE_ROOTS=1 -DGC_CONSERVATIVE_TRACE=1))
|
|
||||||
|
|
||||||
$(eval $(call whippet_variant,generational_whippet,\
|
define trace_whippet_variants
|
||||||
-DGC_GENERATIONAL=1 -DGC_PRECISE_ROOTS=1))
|
$(call parallel_whippet_variants,,-DGC_PRECISE_ROOTS=1)
|
||||||
$(eval $(call whippet_variant,stack_conservative_generational_whippet,\
|
$(call parallel_whippet_variants,stack_conservative_,-DGC_CONSERVATIVE_ROOTS=1)
|
||||||
-DGC_GENERATIONAL=1 -DGC_CONSERVATIVE_ROOTS=1))
|
$(call parallel_whippet_variants,heap_conservative_,-DGC_CONSERVATIVE_ROOTS=1 -DGC_CONSERVATIVE_TRACE=1)
|
||||||
$(eval $(call whippet_variant,heap_conservative_generational_whippet,\
|
endef
|
||||||
-DGC_GENERATIONAL=1 -DGC_CONSERVATIVE_ROOTS=1 -DGC_CONSERVATIVE_TRACE=1))
|
|
||||||
|
|
||||||
$(eval $(call whippet_variant,parallel_generational_whippet,\
|
$(eval $(call trace_whippet_variants))
|
||||||
-DGC_PARALLEL=1 -DGC_GENERATIONAL=1 -DGC_PRECISE_ROOTS=1))
|
|
||||||
$(eval $(call whippet_variant,stack_conservative_parallel_generational_whippet,\
|
|
||||||
-DGC_PARALLEL=1 -DGC_GENERATIONAL=1 -DGC_CONSERVATIVE_ROOTS=1))
|
|
||||||
$(eval $(call whippet_variant,heap_conservative_parallel_generational_whippet,\
|
|
||||||
-DGC_PARALLEL=1 -DGC_GENERATIONAL=1 -DGC_CONSERVATIVE_ROOTS=1 -DGC_CONSERVATIVE_TRACE=1))
|
|
||||||
|
|
||||||
# $(1) is the benchmark, $(2) is the collector configuration
|
# $(1) is the benchmark, $(2) is the collector configuration
|
||||||
# gc_stem for bdw: bdw
|
# gc_stem for bdw: bdw
|
||||||
make_gc_var=$$($(1)$(subst -,_,$(2)))
|
make_gc_var = $$($(1)$(subst -,_,$(2)))
|
||||||
gc_impl=$(call make_gc_var,GC_STEM_,$(1)).c
|
gc_impl = $(call make_gc_var,GC_STEM_,$(1)).c
|
||||||
gc_attrs=$(call make_gc_var,GC_STEM_,$(1))-attrs.h
|
gc_attrs = $(call make_gc_var,GC_STEM_,$(1))-attrs.h
|
||||||
gc_cflags=$(call make_gc_var,GC_CFLAGS_,$(1))
|
gc_cflags = $(call make_gc_var,GC_CFLAGS_,$(1))
|
||||||
gc_impl_cflags=$(call make_gc_var,GC_IMPL_CFLAGS_,$(1))
|
gc_impl_cflags = $(call make_gc_var,GC_IMPL_CFLAGS_,$(1))
|
||||||
gc_libs=$(call make_gc_var,GC_LIBS_,$(1))
|
gc_libs = $(call make_gc_var,GC_LIBS_,$(1))
|
||||||
define benchmark_template
|
define benchmark_template
|
||||||
$(1).$(2).gc.o: src/$(call gc_impl,$(2))
|
$(1).$(2).gc.o: src/$(call gc_impl,$(2))
|
||||||
$$(COMPILE) $(call gc_cflags,$(2)) $(call gc_impl_cflags,$(2)) -include benchmarks/$(1)-embedder.h -c $$<
|
$$(COMPILE) $(call gc_cflags,$(2)) $(call gc_impl_cflags,$(2)) -include benchmarks/$(1)-embedder.h -c $$<
|
||||||
|
@ -124,3 +113,8 @@ $(foreach BENCHMARK,$(TESTS),\
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(ALL_TESTS) $(OBJS) $(DEPS)
|
rm -f $(ALL_TESTS) $(OBJS) $(DEPS)
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SECONDARY:
|
||||||
|
%.c:;
|
||||||
|
Makefile:;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue