-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
42 lines (36 loc) · 1.67 KB
/
Makefile
File metadata and controls
42 lines (36 loc) · 1.67 KB
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
-include build.cfg
##----------------------------------------------------------------------------##
# Project Settings #
##----------------------------------------------------------------------------##
##----------------------------------------------------------------------------##
# Build Rules #
##----------------------------------------------------------------------------##
default: hs
cd clash && mkdir $(BUILDDIR) && $(MAKE)
clash/src/%.hs: %.cfm
@${CFM2CODE} --clash $< -o $@
%.cfm: %.tlsf
@echo "Starting LTL Synthesis"
@if ${SYNTH} $< $@ 0 ; then \
echo ""; echo "-> REALIZABLE"; echo ""; cat $@ | grep aag | sed 's/aag [0-9]* [0-9]* \([0-9]*\) [0-9]* [0-9]*/\1 latches/'; cat $@ | grep aag | sed 's/aag [0-9]* [0-9]* [0-9]* [0-9]* \([0-9]*\)/\1 gates/'; else echo ""; echo "UNREALIZABLE"; fi
%.tlsf: %.tsl
@echo "Creating $@"
@${TSL2TLSF} $< > $@
tlsf: $(TLSFFILES)
cfm: $(CFMFILES)
hs : $(HASKELLFILES)
##----------------------------------------------------------------------------##
# Cleanup #
##----------------------------------------------------------------------------##
clean:
@rm -f $(CFMFILES)
@rm -f $(TLSFFILES)
@rm -f $(LTLFILES)
@rm -f $(JSONFILES)
@rm -f $(HASKELLFILES)
cd clash && $(MAKE) clean
##----------------------------------------------------------------------------##
# Special Targets #
##----------------------------------------------------------------------------##
.PHONY: clean run
.SILENT: