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

include $(gagadmdir)/Makefile.def

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

ARRAY_OBJECTS = type-array.o

ARRAY_EXPORTS = cubetools_array_types.mod cubetools_strg_1d_types.mod	\
cubetools_inte_1d_types.mod cubetools_long_1d_types.mod			\
cubetools_real_1d_types.mod cubetools_dble_1d_types.mod			\
cubetools_cplx_1d_types.mod cubetools_inte_2d_types.mod			\
cubetools_long_2d_types.mod cubetools_real_2d_types.mod			\
cubetools_dble_2d_types.mod cubetools_cplx_2d_types.mod			\
cubetools_real_3d_types.mod

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

STRUCTURE_OBJECTS = structure.o structure-argument.o structure-command.o	\
structure-language.o structure-option.o structure-package.o			\
structure-product.o

STRUCTURE_EXPORTS = cubetools_command.mod cubetools_language.mod		\
cubetools_option.mod cubetools_primitive_arg.mod cubetools_structure.mod	\
cubetools_primitive_prod.mod cubetools_package.mod \

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

SYNTAX_OBJECTS = type-option.o type-switch.o 

SYNTAX_EXPORTS = cubetools_option_types.mod cubetools_switch_types.mod 

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

TYPE_OBJECTS = type-keyword.o type-list.o type-progstruct.o type-setup.o	\
type-unit.o type-userspace.o type-userstruct.o type-uservar.o

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

USER_OBJECTS = user2prog.o

USER_EXPORTS = cubetools_userspace.mod cubetools_userstruct.mod	\
cubetools_uservar.mod cubetools_user2prog.mod

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

LIB_IDENTITY = cubetools

LIB_C_OBJECTS = tool-sha1sum.o

LIB_F_OBJECTS = $(ARRAY_OBJECTS) $(STRUCTURE_OBJECTS) $(SYNTAX_OBJECTS)		\
$(TYPE_OBJECTS) $(USER_OBJECTS) access.o ascii.o brightness.o cmessaging.o	\
convert.o data-format.o data-size.o disambiguate.o format.o help.o		\
message.o nan.o parameters.o parse.o string.o tool-checksum.o unit.o

LIB_EXPORTS = $(ARRAY_EXPORTS) $(STRUCTURE_EXPORTS) $(SYNTAX_EXPORTS)		\
$(USER_EXPORTS) cubetools_access.mod cubetools_ascii.mod			\
cubetools_brightness.mod cubetools_checksum.mod cubetools_cmessaging.mod	\
cubetools_convert.mod cubetools_dataformat.mod cubetools_datasize.mod		\
cubetools_disambiguate.mod cubetools_help.mod cubetools_format.mod		\
cubetools_keyword_arg.mod cubetools_list.mod cubetools_messaging.mod		\
cubetools_nan.mod cubetools_parameters.mod cubetools_parse.mod			\
cubetools_setup_types.mod cubetools_progstruct_types.mod			\
cubetools_string.mod cubetools_unit.mod cubetools_unit_arg.mod			\
cubetools_unit_magnitude.mod cubetools_unit_setup.mod				\
cubetools_unit_types.mod

INTERFACES_DISABLE = yes

LIB_DEPENDS = $(GREG_LIBS)

ADD_LIBS += $(OPENSSL_LDFLAGS)

LOCAL_CFLAGS += $(OPENSSL_CFLAGS)

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

include $(gagadmdir)/Makefile.lib

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

include $(builddir)/Makefile.deps

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