ROOT_PATH = .

include Makefile.incl

SUBDIRS = request

HEADERS = $(ALL_HEADERS)
OBJECTS = $(OBJECTS_MAIN)

LIB=-L../../libds -lds

.PHONY: all install clean $(SUBDIRS)

all: .checkheaders .obj $(LIBRARY) .libopc.headers

opcerror.h: opclib_error.h $(ROOT_PATH)/scripts/gen_error_h
	$(ROOT_PATH)/scripts/gen_error_h

opcmodule.c: opclib_module.h $(ROOT_PATH)/scripts/gen_module_h
	$(ROOT_PATH)/scripts/gen_module_h

install: $(LIBRARY)

$(LIBRARY): $(SUBDIRS) $(OBJECTS) $(OBJECTS_3PARTY) $(HEADERS)
	( cd .obj; \
	$(CC) -shared -o ../$(LIBRARY).so $(ALL_OBJECTS) $(LIBS) )

.obj:
	mkdir -p .obj
	

request:
	${MAKE} -C request/ $(MAKE_FLAGS)

.libopc.headers: $(HEADERS)
	@touch .libopc.headers; \
	echo "Headers Updated!"

.checkheaders: .libds.headers
	make clean; \
	touch .checkheaders

include $(ROOT_PATH)/Makefile.compile


clean:
	-rm -f *.o .obj/* *.so
