00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef SEQMAKEFILE_H
00019 #define SEQMAKEFILE_H
00020
00021
00022 #include <odinseq/seqclass.h>
00023
00024 #ifndef NO_CMDLINE
00025
00030 class SeqMakefile : public SeqClass {
00031
00032 public:
00033 SeqMakefile(const STD_string& methlabel, const STD_string& odin_install_prefix="",
00034 const STD_string& compiler="", const STD_string& compiler_flags=CXXFLAGS, const STD_string& linker="",
00035 const STD_string& extra_includes="", const STD_string& extra_libs="");
00036
00037 STD_string get_Makefile(const STD_string& methroot) const;
00038
00039 svector get_method_compile_chain(bool executable, bool shared_object) const;
00040
00041 STD_string get_method_clean() const;
00042
00043 STD_string get_method_install(const STD_string& methdir) const;
00044
00045 svector get_odin4idea_method_compile_chain(const STD_string& in_dir, const STD_string& odindir,
00046 const STD_string& vxworks_path, const STD_string& vxworks_cxx, const STD_string& vxworks_flags,
00047 const STD_string& win_cxx, const STD_string& hostd_flags, const STD_string& host_flags) const;
00048
00049 static STD_string get_exe_postfix();
00050 static STD_string get_so_postfix();
00051 static STD_string get_obj_postfix();
00052
00053 private:
00054 STD_string get_methlabel() const {return get_label();}
00055 STD_string get_methdefines(const STD_string& main, const STD_string& classlabel) const;
00056
00057 JDXfileName inst_prefix;
00058 STD_string cxx;
00059 STD_string cxxflags;
00060 STD_string ld;
00061 STD_string add_includes;
00062 STD_string add_libs;
00063 };
00064
00065 #endif
00066
00067
00068
00069 #endif