| include ../config.mk | 
 | LDLIBS = -lm -lstdc++ | 
 | override CXXFLAGS += -DPREFIX='"$(PREFIX)"' -DCHIPDB_SUBDIR='"$(CHIPDB_SUBDIR)"' | 
 |  | 
 | ifeq ($(STATIC),1) | 
 | LDFLAGS += -static | 
 | endif | 
 |  | 
 | all: icetime$(EXE) | 
 |  | 
 | ifeq ($(EXE),.js) | 
 | icetime$(EXE): | share/$(CHIPDB_SUBDIR)/chipdb-384.txt share/$(CHIPDB_SUBDIR)/chipdb-1k.txt share/$(CHIPDB_SUBDIR)/chipdb-8k.txt share/$(CHIPDB_SUBDIR)/chipdb-5k.txt | 
 |  | 
 | share/$(CHIPDB_SUBDIR)/chipdb-384.txt: ../icebox/chipdb-384.txt | 
 | 	mkdir -p share/$(CHIPDB_SUBDIR) | 
 | 	cp $< $@ | 
 | share/$(CHIPDB_SUBDIR)/chipdb-1k.txt: ../icebox/chipdb-1k.txt | 
 | 	mkdir -p share/$(CHIPDB_SUBDIR) | 
 | 	cp $< $@ | 
 | share/$(CHIPDB_SUBDIR)/chipdb-8k.txt: ../icebox/chipdb-8k.txt | 
 | 	mkdir -p share/$(CHIPDB_SUBDIR) | 
 | 	cp $< $@ | 
 | share/$(CHIPDB_SUBDIR)/chipdb-5k.txt: ../icebox/chipdb-5k.txt | 
 | 	mkdir -p share/$(CHIPDB_SUBDIR) | 
 | 	cp $< $@ | 
 | override LDFLAGS += --embed-file share | 
 | endif | 
 |  | 
 | icetime$(EXE): icetime.o iceutil.o | 
 | 	$(CXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) | 
 |  | 
 | icetime.o: icetime.cc timings.inc | 
 | iceutil.o: iceutil.cc | 
 |  | 
 | timings.inc: timings.py ../icefuzz/timings_*.txt | 
 | 	python3 timings.py > timings.inc.new | 
 | 	mv timings.inc.new timings.inc | 
 |  | 
 | install: all | 
 | 	mkdir -p $(DESTDIR)$(PREFIX)/bin | 
 | 	mkdir -p $(DESTDIR)$(PREFIX)/share/icebox | 
 | 	cp icetime$(EXE) $(DESTDIR)$(PREFIX)/bin/icetime$(EXE) | 
 | 	cp ../icefuzz/timings_*.txt $(DESTDIR)$(PREFIX)/share/icebox/ | 
 |  | 
 | uninstall: | 
 | 	rm -f $(DESTDIR)$(PREFIX)/bin/icetime$(EXE) | 
 |  | 
 |  | 
 | # View timing netlist: | 
 | #  yosys -qp 'read_verilog -lib cells.v; prep; show' test0_ref.v | 
 | #  yosys -qp 'read_verilog -lib cells.v; prep; show' test0_out.v | 
 |  | 
 | test0 test1 test2 test3 test4 test5 test6 test7 test8 test9: icetime | 
 | 	test -f $@_ref.v || python3 mktest.py $@ | 
 | 	./icetime -m -d hx1k -P tq144 -p $@.pcf -o $@_out.v $@.asc | 
 | 	yosys $@.ys | 
 |  | 
 | run0 run1 run2 run3 run4 run5 run6 run7 run8 run9: icetime | 
 | 	./icetime -t -d hx1k -P tq144 -p $(subst run,test,$@).pcf $(subst run,test,$@).asc | 
 |  | 
 | show0 show1 show2 show3 show4 show5 show6 show7 show8 show9: icetime | 
 | 	bash show.sh $(subst show,test,$@) | 
 | 	xdot $(subst show,test,$@).dot | 
 |  | 
 | test: test0 test1 test2 test3 test4 test5 test6 test7 test8 test9 | 
 |  | 
 | show: show0 show1 show2 show3 show4 show5 show6 show7 show8 show9 | 
 |  | 
 | clean: | 
 | 	rm -f icetime$(EXE) icetime.exe timings.inc *.o *.d | 
 | 	rm -rf test[0-9]* | 
 |  | 
 | -include *.d | 
 |  | 
 | .PHONY: all install uninstall clean | 
 |  |