ODIN
seqmakefile.h
1 /***************************************************************************
2  seqmakefile.h - description
3  -------------------
4  begin : Wed Apr 14 2004
5  copyright : (C) 2000-2021 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SEQMAKEFILE_H
19 #define SEQMAKEFILE_H
20 
21 
22 #include <odinseq/seqclass.h>
23 
24 #ifndef NO_CMDLINE
25 
30 class SeqMakefile : public SeqClass {
31 
32 public:
33  SeqMakefile(const STD_string& methlabel, const STD_string& odin_install_prefix="",
34  const STD_string& compiler="", const STD_string& compiler_flags=CXXFLAGS, const STD_string& linker="",
35  const STD_string& extra_includes="", const STD_string& extra_libs="");
36 
37  STD_string get_Makefile(const STD_string& methroot) const;
38 
39  svector get_method_compile_chain(bool executable, bool shared_object) const;
40 
41  STD_string get_method_clean() const;
42 
43  STD_string get_method_install(const STD_string& methdir) const;
44 
45  svector get_odin4idea_method_compile_chain(const STD_string& in_dir, const STD_string& odindir,
46  const STD_string& vxworks_path, const STD_string& vxworks_cxx, const STD_string& vxworks_flags,
47  const STD_string& win_cxx, const STD_string& hostd_flags, const STD_string& host_flags) const;
48 
49  static STD_string get_exe_postfix();
50  static STD_string get_so_postfix();
51  static STD_string get_obj_postfix();
52 
53 private:
54  STD_string get_methlabel() const {return get_label();}
55  STD_string get_methdefines(const STD_string& main, const STD_string& classlabel) const;
56 
57  LDRfileName inst_prefix;
58  STD_string cxx;
59  STD_string cxxflags;
60  STD_string ld;
61  STD_string add_includes;
62  STD_string add_libs;
63 };
64 
65 #endif
66 
67 
68 
69 #endif
const STD_string & get_label() const
Definition: tjlabel.h:48