CPUS := $(shell getconf _NPROCESSORS_ONLN)

default:
	@echo "available targets :"
	@echo "    - actor"
	@echo "    - library"

.PHONY:actor
actor:
	po_gnatdist -aP$(NARVAL_ADA_PROJECT_PATH) -p -j$(CPUS) misc_filters.cfg -Pfilters

library:c_lib cpp_lib

cpp_lib:libexample_cpp.o base_code.o my_class.o
	gcc -shared -o libexample_cpp.so libexample_cpp.o base_code.o \
	my_class.o

c_lib:libexample_c.o libdummyfilter.o
	gcc -shared -o libexample_c.so libexample_c.o
	gcc -shared -o libdummyfilter.so libdummyfilter.o

libexample_cpp.o:libexample_cpp.cc
	g++ -c -fPIC -Wall -I. -I../include libexample_cpp.cc

libexample_c.o:libexample_c.c
	gcc -c -fPIC -Wall -I. libexample_c.c

libdummyfilter.o:libdummyfilter.c
	gcc -c -fPIC -Wall -I. libdummyfilter.c

base_code.o:../common_c_code/base_code.cc ../include/base_class.h
	g++ -c -fPIC -Wall -I../include ../common_c_code/base_code.cc

my_class.o:my_class.cc ../include/base_class.h my_class.h
	g++ -c -fPIC -Wall -I../include -I. my_class.cc

clean:
	rm -f *.o *.so *~ *.ali
	rm -Rf dsa generic_filter narval_naming_service
