SRCDIR = ..
GENCAT = ../gencat

#LIBCATGETS = libcatgets.so
LIBCATGETS = ../libcatgets.a

INCLUDES = -I $(SRCDIR)

.PHONY: all
all: test_catgets

include $(SRCDIR)/Makefile.common

test_catgets:%:%.o $(LIBCATGETS)
	$(CCLD) -o $@ $^


.PHONY: test
test: test3.cat test-catgets

.PHONY:
test-catgets: test3.cat
	./run_catgets_test

HEADER_FILE_NAME = $(patsubst %.cat,%_msg.h,$@)

%.cat:%.msg
	echo $(HEADER_FILE_NAME)
	rm --force $@
	$(GENCAT) -o $@ $< --header=$(HEADER_FILE_NAME) || rm --force $@

sample_msg.h:%_msg.h:%.cat

../libcatgets.a:
	$(MAKE) -C $(dir $@) $(notdir $@)

libcatgets.so: libcatgets.so.1
	rm --force $@
	ln --symbolic $< $@

libcatgets.so.1: ../libcatgets.so.1.0
	rm --force $@
	ln --symbolic $< $@


.PHONY: clean local-clean
clean: local-clean
local-clean:
	rm --force *.cat *_msg.h *.out
	rm --force test_catgets
