###########################################################################
#
# Makefile system for GILDAS softwares (2003-2026).
#
# Please be careful: element order often matters in makefiles.
#
###########################################################################

include $(gagadmdir)/Makefile.def

###########################################################################

FLAG_OBJECTS = type-cubearg.o

FLAG_EXPORTS = cubedag_cubeid_arg_types.mod		\
cubedag_cubeid_find_types.mod cubeadm_cubeid_types.mod

###########################################################################

NODE_OBJECTS = class-node.o class-object.o tool-links.o tool-remove.o	\
type-node.o type-nodedesc.o type-tuple.o

NODE_EXPORTS = cubedag_links_tool.mod cubedag_node_class.mod	\
cubedag_object_class.mod cubedag_remove_tool.mod cubedag_tuple.mod

###########################################################################

LINK_OBJECTS = digraph.o type-link.o type-links.o type-walker.o

LINK_EXPORTS = cubedag_digraph.mod cubedag_link_type.mod

###########################################################################

DAG_OBJECTS = dag.o dag-repository.o history.o type-history.o		\
engine-repositories.o iterator.o tool-index-iterator.o

DAG_EXPORTS = cubedag_dag_buffer.mod cubedag_history_buffer.mod \
cubedag_history_types.mod cubedag_index_iterator_tool.mod

###########################################################################

COMMAND_OBJECTS = command-debug.o command-find.o command-free.o	\
command-history.o command-list.o command-memory.o command-remove.o	\
command-snapshot.o command-undo.o

COMMAND_EXPORTS = cubedag_free.mod cubedag_history.mod	\
cubedag_list.mod cubedag_snapshot.mod

###########################################################################

LIB_IDENTITY = cubedag

LIB_F_OBJECTS = $(FLAG_OBJECTS) $(NODE_OBJECTS) $(LINK_OBJECTS)	\
$(DAG_OBJECTS) $(COMMAND_OBJECTS) library.o language.o		\
message.o parameters.o timing.o type-directory.o type-find.o	\
type-list.o type-toc.o type-type.o type-variable.o

LIB_EXPORTS = $(FLAG_EXPORTS) $(NODE_EXPORTS) $(LINK_EXPORTS)		\
$(DAG_EXPORTS) $(COMMAND_EXPORTS) cubeadm_timing.mod			\
cubedag_directory_type.mod cubedag_find_filters.mod			\
cubedag_find_types.mod cubedag_language.mod cubedag_library.mod		\
cubedag_list_columns.mod cubedag_list_types.mod cubedag_messaging.mod	\
cubedag_parameters.mod cubedag_toc_types.mod cubedag_type_type.mod	\
cubedag_variable_types.mod

LIB_DEPENDS = -lcubeheader -lcubesyntax -lcubelist -lcubetools	\
-lclassic $(GREG_LIBS)

INTERFACES_DISABLE = yes

###########################################################################

include $(gagadmdir)/Makefile.lib

###########################################################################

include $(builddir)/Makefile.deps

###########################################################################
