File: Makefile.variants

package info (click to toggle)
cudf 0.10-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 688 kB
  • sloc: ml: 2,509; ansic: 871; makefile: 170; sh: 18
file content (76 lines) | stat: -rw-r--r-- 1,405 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# OCaml (polymorphic) variants used by the bindings
# Will be used to generate cudf-variants.h

ML_VARIANTS =	\
	$(ML_RELOP_VARIANTS) \
	$(ML_TYPE_VARIANTS) \
	$(ML_KEEP_VARIANTS) \
	$(ML_ITEM_VARIANTS) \
	$(NULL)

ML_RELOP_VARIANTS = \
	Eq	\
	Neq	\
	Geq	\
	Gt	\
	Leq	\
	Lt	\
	$(NULL)

ML_TYPE_VARIANTS = \
	Int		\
	Posint		\
	Nat		\
	Bool		\
	String		\
	Enum		\
	Pkgname		\
	Ident		\
	Vpkg		\
	Vpkgformula	\
	Vpkglist	\
	Veqpkg		\
	Veqpkglist	\
	Typedecl	\
	$(NULL)

ML_KEEP_VARIANTS = \
	Keep_version	\
	Keep_package	\
	Keep_feature	\
	Keep_none	\
	$(NULL)

ML_ITEM_VARIANTS = \
	Preamble	\
	Package		\
	Request		\
	$(NULL)

cudf.o: cudf-variants.h
cudf-variants.h: caml_hash_variant Makefile.variants
	@echo "/* THIS FILE IS GENERATED, DO NOT EDIT */" > $@
	@echo "/* See Makefile.variants for generation logics */" >> $@
	@echo >> $@
	@echo "#ifndef _CUDF_VARIANTS_H" >> $@
	@echo "#define _CUDF_VARIANTS_H" >> $@
	@echo >> $@
	@(for variant in $(ML_VARIANTS) ; do \
		./$< $$variant ; \
	done) >> $@
	@echo >> $@
	@echo "#endif\t/* end of cudf-variants.h */" >> $@
	@echo >> $@

caml_hash_variant: caml_hash_variant.o
	> dummy.ml
	ocamlc -o dummy.o -output-obj dummy.ml
	$(CC) $(CFLAGS) -o $@ $< dummy.o -L$(OCAML_LIBDIR) -lcamlrun $(OTHER_CLIBS) -lm -lcurses -ldl
	@rm -f dummy.*

clean: clean-variants
clean-variants:
	rm -f caml_hash_variant cudf-variants.h
	rm -f dummy.*

.PHONY: clean-variants