## -Wno-unused-private-field gives notes/errors with some compiler
MYCXXFLAGS = -Wno-sign-compare -O0

%.o: %.cpp
	$(CXX) $(ALL_CPPFLAGS) $(ALL_CXXFLAGS) $(MYCXXFLAGS) -c $< -o $@

%.o: %.c
	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c $< -o $@

FUSION_SDK = fusion

PKG_CPPFLAGS = \
 -I. \
 -I$(FUSION_SDK)/calvin_files/array/src\
 -I$(FUSION_SDK)/calvin_files/data/src\
 -I$(FUSION_SDK)/calvin_files/exception/src\
 -I$(FUSION_SDK)/calvin_files/fusion/src\
 -I$(FUSION_SDK)/calvin_files/fusion/src/GCOSAdapter\
 -I$(FUSION_SDK)/calvin_files/fusion/src/CalvinAdapter\
 -I$(FUSION_SDK)/calvin_files/parameter/src\
 -I$(FUSION_SDK)/calvin_files/parsers/src\
 -I$(FUSION_SDK)/calvin_files/portability/src\
 -I$(FUSION_SDK)/calvin_files/template/src\
 -I$(FUSION_SDK)/calvin_files/utils/src\
 -I$(FUSION_SDK)/calvin_files/writers/src\
 -I$(FUSION_SDK)/file\
 -I$(FUSION_SDK)/file/TsvFile\
 -I$(FUSION_SDK)/portability\
 -I$(FUSION_SDK)/util\
 -I$(FUSION_SDK)\
 -D_USE_MEM_MAPPING_

PKG_CPP_SOURCES = \
	$(FUSION_SDK)/calvin_files/data/src/CDFData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CDFProbeGroupInformation.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CDFProbeInformation.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CDFProbeSetInformation.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CDFQCProbeInformation.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CDFQCProbeSetInformation.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CELData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPBackgroundZone.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPExpressionEntry.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPMultiDataData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPTilingData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPQuantificationData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPQuantificationDetectionData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPGenotypeEntry.cpp\
	$(FUSION_SDK)/calvin_files/data/src/CHPUniversalEntry.cpp\
	$(FUSION_SDK)/calvin_files/data/src/ColumnInfo.cpp\
	$(FUSION_SDK)/calvin_files/data/src/DataGroup.cpp\
	$(FUSION_SDK)/calvin_files/data/src/DataGroupHeader.cpp\
	$(FUSION_SDK)/calvin_files/data/src/DataSet.cpp\
	$(FUSION_SDK)/calvin_files/data/src/DataSetHeader.cpp\
	$(FUSION_SDK)/calvin_files/data/src/FileHeader.cpp\
	$(FUSION_SDK)/calvin_files/data/src/GenericData.cpp\
	$(FUSION_SDK)/calvin_files/data/src/GenericDataHeader.cpp\
	$(FUSION_SDK)/calvin_files/exception/src/ExceptionBase.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/CalvinAdapter/CalvinCELDataAdapter.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/CalvinAdapter/CalvinCHPDataAdapter.cpp \
	$(FUSION_SDK)/calvin_files/fusion/src/FusionBPMAPData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCDFData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCDFQCProbeSetNames.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCELData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPData.cpp \
	$(FUSION_SDK)/calvin_files/fusion/src/FusionProbeSetResults.cpp \
	$(FUSION_SDK)/calvin_files/fusion/src/GCOSAdapter/GCOSCELDataAdapter.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/GCOSAdapter/GCOSCHPDataAdapter.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPLegacyData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPMultiDataAccessor.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPMultiDataData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPTilingData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPGenericData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPQuantificationData.cpp\
	$(FUSION_SDK)/calvin_files/fusion/src/FusionCHPQuantificationDetectionData.cpp\
	$(FUSION_SDK)/calvin_files/parameter/src/ParameterNameValueType.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CDFFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CelFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CHPFileReader.cpp \
	$(FUSION_SDK)/calvin_files/parsers/src/CHPMultiDataFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CHPTilingFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CHPQuantificationFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/CHPQuantificationDetectionFileReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/DataGroupHeaderReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/DataGroupReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/DataSetHeaderReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/DataSetReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/FileHeaderReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/FileInput.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/GenericDataHeaderReader.cpp\
	$(FUSION_SDK)/calvin_files/parsers/src/GenericFileReader.cpp\
	$(FUSION_SDK)/calvin_files/utils/src/AffymetrixGuid.cpp\
	$(FUSION_SDK)/calvin_files/utils/src/DateTime.cpp\
	$(FUSION_SDK)/calvin_files/utils/src/FileUtils.cpp\
	$(FUSION_SDK)/calvin_files/utils/src/StringUtils.cpp\
	$(FUSION_SDK)/calvin_files/utils/src/checksum.cpp\
	$(FUSION_SDK)/file/BPMAPFileData.cpp\
	$(FUSION_SDK)/file/BPMAPFileWriter.cpp\
	$(FUSION_SDK)/file/CDFFileData.cpp\
	$(FUSION_SDK)/file/CELFileData.cpp\
	$(FUSION_SDK)/file/CHPFileData.cpp\
	$(FUSION_SDK)/file/FileIO.cpp\
	$(FUSION_SDK)/file/FileWriter.cpp\
	$(FUSION_SDK)/file/TsvFile/ClfFile.cpp\
	$(FUSION_SDK)/file/TsvFile/PgfFile.cpp\
	$(FUSION_SDK)/file/TsvFile/TsvFile.cpp\
	$(FUSION_SDK)/util/AffxByteArray.cpp\
	$(FUSION_SDK)/util/AffxConv.cpp\
	$(FUSION_SDK)/util/MsgStream.cpp\
	$(FUSION_SDK)/util/Util.cpp\
	$(FUSION_SDK)/util/Err.cpp\
	$(FUSION_SDK)/util/Fs.cpp\
	$(FUSION_SDK)/util/Verbose.cpp\
	$(FUSION_SDK)/util/RowFile.cpp\
	$(FUSION_SDK)/util/TableFile.cpp\
	$(FUSION_SDK)/util/Convert.cpp\
	R_affx_cel_parser.cpp\
	R_affx_cdf_parser.cpp\
	R_affx_cdf_extras.cpp\
	R_affx_bpmap_parser.cpp\
	R_affx_clf_pgf_parser.cpp\
	R_affx_chp_parser.cpp

PKG_C_SOURCES = \
	000.init.c

PKG_SOURCES=$(PKG_CPP_SOURCES) $(PKG_C_SOURCES)

CPP_OBJECTS=$(PKG_CPP_SOURCES:.cpp=.o)
C_OBJECTS=$(PKG_C_SOURCES:.c=.o)

OBJECTS=$(CPP_OBJECTS) $(C_OBJECTS)

all: myclean $(SHLIB)

myclean:
	rm -f $(OBJECTS)
