aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/glibc_qsort/Makefile
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-01-31 13:31:57 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-01-31 13:31:57 +0100
commit24323bd244412bf96679e1ad74dd99b0f503811a (patch)
treef953969696c825fbc232f200d7ca0aba2661bffb /test/monniaux/glibc_qsort/Makefile
parent91ff23aff3c784e726a9c180a2e365b2d956b498 (diff)
downloadcompcert-kvx-24323bd244412bf96679e1ad74dd99b0f503811a.tar.gz
compcert-kvx-24323bd244412bf96679e1ad74dd99b0f503811a.zip
glibc's Quicksort
Diffstat (limited to 'test/monniaux/glibc_qsort/Makefile')
-rw-r--r--test/monniaux/glibc_qsort/Makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/monniaux/glibc_qsort/Makefile b/test/monniaux/glibc_qsort/Makefile
new file mode 100644
index 00000000..2ef30ccf
--- /dev/null
+++ b/test/monniaux/glibc_qsort/Makefile
@@ -0,0 +1,40 @@
+CFLAGS=-Wall -O3
+K1C_CC=k1-mbr-gcc
+K1C_CFLAGS=-Wall -O3 -pedantic -std=c99
+K1C_CCOMP=../../../ccomp
+K1C_CCOMPFLAGS=-Wall -O3
+
+PRODUCTS=glibc_qsort.host glibc_qsort.gcc.k1c.out glibc_qsort.ccomp.k1c.out glibc_qsort.ccomp.k1c.s glibc_qsort.gcc.k1c.s glibc_qsort.gcc.k1c glibc_qsort.ccomp.k1c
+
+all: $(PRODUCTS)
+
+%.gcc.k1c.s: %.c
+ $(K1C_CC) $(K1C_CFLAGS) -S $< -o $@
+
+%.gcc.k1c.o: %.gcc.k1c.s
+ $(K1C_CC) $(K1C_CFLAGS) -c $< -o $@
+
+%.ccomp.k1c.s: %.c
+ $(K1C_CCOMP) $(K1C_CCOMPFLAGS) -S $< -o $@
+
+%.ccomp.k1c.o: %.ccomp.k1c.s
+ $(K1C_CCOMP) $(K1C_CCOMPFLAGS) -c $< -o $@
+
+glibc_qsort.host: glibc_qsort.c glibc_qsort_run.c glibc_qsort.h
+ $(CC) $(CFLAGS) glibc_qsort.c glibc_qsort_run.c -o $@
+
+glibc_qsort.gcc.k1c.s glibc_qsort.ccomp.k1c.s glibc_qsort_run.gcc.k1c.s: glibc_qsort.h
+
+glibc_qsort.gcc.k1c: glibc_qsort.gcc.k1c.o glibc_qsort_run.gcc.k1c.o
+ $(K1C_CC) $(K1C_CFLAGS) $+ -o $@
+
+glibc_qsort.ccomp.k1c: glibc_qsort.ccomp.k1c.o glibc_qsort_run.gcc.k1c.o
+ $(K1C_CCOMP) $(K1C_CCOMPFLAGS) $+ -o $@
+
+%.k1c.out: %.k1c
+ k1-cluster --cycle-based -- $< | tee $@
+
+clean:
+ $(RM) -f $(PRODUCTS) glibc_qsort.gcc.k1c.o glibc_qsort.ccomp.k1c.o glibc_qsort_run.gcc.k1c.o glibc_qsort_run.gcc.k1c.s
+
+.PHONY: clean