60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# Author:	Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
 | 
						|
# SPDX-License-Identifier:	GPL-3.0-or-later
 | 
						|
# File-version: 5
 | 
						|
 | 
						|
INPUTS = $(wildcard solidity/*.sol)
 | 
						|
OUTPUTS_JSON = $(patsubst %.sol, %.json, $(INPUTS))
 | 
						|
OUTPUTS_INTERFACE = $(patsubst %.sol, %.interface, $(INPUTS))
 | 
						|
OUTPUTS = $(OUTPUTS_JSON) $(OUTPUTS_INTERFACE)
 | 
						|
PREFIX = $(DESTDIR)/usr/local/share/cic/solidity/abi
 | 
						|
 | 
						|
#%.abi.json: $(wildcard *.sol)
 | 
						|
#	install -vDm0644 $@ $(PREFIX)/$@
 | 
						|
 | 
						|
.SUFFIXES: .sol .json .interface
 | 
						|
 | 
						|
.sol.json:
 | 
						|
	solc $(basename $@).sol --abi | awk 'NR>3' > $@
 | 
						|
 | 
						|
.sol.interface:
 | 
						|
	bash to_interface.sh $(basename $@).sol > $@
 | 
						|
 | 
						|
all: outs doc
 | 
						|
       
 | 
						|
outs: $(OUTPUTS) 
 | 
						|
	echo $(OUTPUTS)
 | 
						|
 | 
						|
install-code: $(OUTPUTS)
 | 
						|
	install -vDm0644 -t $(PREFIX) $?
 | 
						|
 | 
						|
install-doc:
 | 
						|
	bash texify.sh
 | 
						|
 | 
						|
install: outs install-code install-doc doc
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -vf solidity/*.json
 | 
						|
	rm -vf solidity/*.interface
 | 
						|
 | 
						|
doc:
 | 
						|
	bash texify.sh
 | 
						|
	make -C doc/texinfo
 | 
						|
 | 
						|
readme:
 | 
						|
	make -C doc/texinfo readme
 | 
						|
	pandoc -f docbook -t gfm doc/texinfo/build/docbook.xml > README.md
 | 
						|
	cp -v README.md python/README.md
 | 
						|
 | 
						|
python-contract: outs
 | 
						|
	mkdir -vp python-contract-interfaces/cic_contracts/data
 | 
						|
	cp -v solidity/*.interface python-contract-interfaces/cic_contracts/data
 | 
						|
	cp -v solidity/*.json python-contract-interfaces/cic_contracts/data
 | 
						|
	make -C python-contract-interfaces
 | 
						|
 | 
						|
python-cic: python
 | 
						|
	python setup.py sdist
 | 
						|
 | 
						|
python: python-cic python-contract
 | 
						|
 | 
						|
.PHONY: clean install
 |