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

include $(gagadmdir)/Makefile.def

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

CONSISTENCY_OBJECTS = consistency-colors.o consistency-methods.o	\
type-consistency.o

CONSISTENCY_EXPORTS = cubeheader_consistency_colors.mod			\
cubeheader_consistency_methods.mod cubeheader_consistency_types.mod

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

SPECTRAL_OBJECTS = tool-edit.o type-spectral-rest.o type-spectral-systemic.o 

SPECTRAL_EXPORTS = cubeheader_edit_tool.mod					\
cubeheader_spectral_f_or_w_types.mod cubeheader_spectral_v_or_z_types.mod

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

HEADER_OBJECTS = message.o header.o header-array.o header-array-element.o	\
header-array-noise.o header-array-shape.o header-axis.o header-axset.o		\
header-interface.o header-methods.o header-observatory.o			\
header-observatory-telescope.o header-spatial.o header-spatial-beam.o		\
header-spatial-element.o header-spatial-frame.o					\
header-spatial-projection.o header-spectral.o header-spectral-element.o		\
header-vo.o

HEADER_EXPORTS = cubeheader_messaging.mod cubeheader_arrelt_types.mod		\
cubeheader_axis_types.mod cubeheader_axset_types.mod				\
cubeheader_beam_types.mod cubetools_brightness.mod				\
cubeheader_array_types.mod cubeheader_interface.mod cubeheader_types.mod	\
cubeheader_methods.mod cubeheader_vo.mod cubeheader_noise_types.mod		\
cubeheader_observatory_types.mod cubeheader_obstel_consistency_types.mod	\
cubeheader_obstel_prog_types.mod cubeheader_shape_types.mod			\
cubeheader_spaelt_types.mod cubeheader_spafra_types.mod				\
cubeheader_spapro_types.mod cubeheader_spatial_types.mod			\
cubeheader_spectral_prog_types.mod						\
cubeheader_spectral_consistency_types.mod					\
cubeheader_spectral_frame_types.mod cubeheader_spectral_line_types.mod		\
cubeheader_speelt_types.mod

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

OTHER_OBJECTS = parameters-flags.o library.o type-cubeid.o type-extrema.o	\
type-flag.o type-processing.o

OTHER_EXPORTS = cubeheader_allflags.mod cubeheader_cubeid_types.mod	\
cubeheader_extrema_types.mod cubeheader_flag_types.mod			\
cubeheader_library.mod cubeheader_processing_types.mod

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

LIB_IDENTITY = cubeheader

LIB_F_OBJECTS = $(CONSISTENCY_OBJECTS) $(SPECTRAL_OBJECTS)	\
$(HEADER_OBJECTS) $(OTHER_OBJECTS)

LIB_EXPORTS = $(CONSISTENCY_EXPORTS) $(SPECTRAL_EXPORTS) $(HEADER_EXPORTS)	\
$(OTHER_EXPORTS)

INTERFACES_DISABLE = yes

LIB_DEPENDS = -lcubelist -lcubesyntax -lcubetools $(SIC_LIBS)

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

include $(gagadmdir)/Makefile.lib

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

include $(builddir)/Makefile.deps

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