SRC_DIR = $(top_builddir)/src
INCLUDE_DIR = $(top_builddir)/include
AUTO_NAME = opcua
NS0_NAME = ua_namespace_0

all-local: $(AUTO_NAME).cgen $(AUTO_NAME).hgen $(NS0_NAME).cgen $(NS0_NAME).hgen $(bin_PROGRAMS)

$(AUTO_NAME).cgen $(AUTO_NAME).hgen: Opc.Ua.Types.bsd generate_builtin.py
	python generate_builtin.py Opc.Ua.Types.bsd $(AUTO_NAME)
	cp $(AUTO_NAME).cgen $(SRC_DIR)/$(AUTO_NAME).c
	cp $(AUTO_NAME).hgen $(INCLUDE_DIR)/$(AUTO_NAME).h
	
$(NS0_NAME).cgen $(NS0_NAME).hgen: NodeIds.csv generate_namespace.py 
	python generate_namespace.py NodeIds.csv $(NS0_NAME)
	cp $(NS0_NAME).cgen $(SRC_DIR)/$(NS0_NAME).c
	cp $(NS0_NAME).hgen $(INCLUDE_DIR)/$(NS0_NAME).h

PHONY: clean-autogenerated
clean-autogenerated:
	rm -rf $(AUTO_NAME).cgen $(AUTO_NAME).hgen
	rm -rf $(SRC_DIR)/$(AUTO_NAME).c $(INCLUDE_DIR)/$(AUTO_NAME).h
	rm -rf $(NS0_NAME).cgen $(NS0_NAME).hgen
	rm -rf $(SRC_DIR)/$(NS0_NAME).c $(INCLUDE_DIR)/$(NS0_NAME).h

clean-local: clean-autogenerated