Commit 1bacb216 authored by Claes Sjofors's avatar Claes Sjofors

Build dependencies for wbl-files added

parent 71947b15
...@@ -24,12 +24,12 @@ endif ...@@ -24,12 +24,12 @@ endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy exe | silent
init : silent init : dirs | silent
copy : $(inc_dir)/pwr_nmpsclasses.h \ copy : $(inc_dir)/pwr_nmpsclasses.h \
$(inc_dir)/pwr_nmpsclasses.hpp \ $(inc_dir)/pwr_nmpsclasses.hpp \
...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/nmps_allclasses.html \ ...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/nmps_allclasses.html \
$(exe_dir)/sv_se/nmps_xtthelp.dat \ $(exe_dir)/sv_se/nmps_xtthelp.dat \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : clean :
realclean : clean $(clean_wbl) realclean : clean $(clean_wbl)
...@@ -52,20 +54,20 @@ silent : ...@@ -52,20 +54,20 @@ silent :
$(load_dir)/nmps.dbs : $(load_dir)/nmps.dbs :
@ echo "Generating loadfile for nmps" @ echo "Generating loadfile for nmps"
@ export pwr_load=$(pwr_eload);\ @ export pwr_load=$(pwr_eload);\
wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/nmps/src/\"/out=\"$(target)\" wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/nmps/src/\"/out=\"$(target)\"/depend=\"$(bld_dir)/nmps.d_wbl\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_nmpsclasses.h : $(inc_dir)/pwr_nmpsclasses.h :
@ echo "Generating struct files for nmps classes..." @ echo "Generating struct files for nmps classes..."
@ $(co_convert) -so -d $(inc_dir) -y $(release_root)/bld/$(type_name)/nmps.d_h_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load" @ $(co_convert) -so -d $(inc_dir) -y $(bld_dir)/nmps.d_h_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load"
$(inc_dir)/pwr_nmpsclasses.hpp : $(inc_dir)/pwr_nmpsclasses.hpp :
@ echo "Generating hpp files for nmps classes..." @ echo "Generating hpp files for nmps classes..."
@ $(co_convert) -po -d $(inc_dir) -y $(release_root)/bld/$(type_name)/nmps.d_hpp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load" @ $(co_convert) -po -d $(inc_dir) -y $(bld_dir)/nmps.d_hpp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load"
$(doc_dir)/en_us/orm/nmps_allclasses.html : $(doc_dir)/en_us/orm/nmps_allclasses.html :
@ echo "Generating html files for nmps classes en_us..." @ echo "Generating html files for nmps classes en_us..."
@ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(release_root)/bld/$(type_name)/nmps.d_html_wbl -g $(pwre_sroot)/wbl/nmps/src/cnv_setup.dat "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load" @ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(bld_dir)/nmps.d_html_wbl -g $(pwre_sroot)/wbl/nmps/src/cnv_setup.dat "$(pwre_sroot)/wbl/nmps/src/nmps_*.wb_load"
@ echo "Generating html files for nmps structs en_us..." @ echo "Generating html files for nmps structs en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_nmpsclasses.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_nmpsclasses.h
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_nmpsclasses.hpp @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_nmpsclasses.hpp
...@@ -86,22 +88,26 @@ $(doc_dir)/en_us/orm/nmps_allclasses.html : ...@@ -86,22 +88,26 @@ $(doc_dir)/en_us/orm/nmps_allclasses.html :
$(exe_dir)/en_us/nmps_xtthelp.dat : $(exe_dir)/en_us/nmps_xtthelp.dat :
@ echo "Generating xtt help files for nmps classes en_us" @ echo "Generating xtt help files for nmps classes en_us"
@ $(co_convert) -x -d $(exe_dir)/en_us -y $(release_root)/bld/$(type_name)/nmps.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/en_us -y $(bld_dir)/nmps.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load"
$(exe_dir)/sv_se/nmps_xtthelp.dat : $(exe_dir)/sv_se/nmps_xtthelp.dat :
@ echo "Generating xtt help files for nmps classes sv_se" @ echo "Generating xtt help files for nmps classes sv_se"
@ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(release_root)/bld/$(type_name)/nmps.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load" @ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(bld_dir)/nmps.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load"
clean_wbl : clean_wbl :
@ if [ -e $(load_dir)/nmps.dbs ]; then \ @ if [ -e $(load_dir)/nmps.dbs ]; then \
$(rm) $(rmflags) $(load_dir)/nmps.dbs; \ $(rm) $(rmflags) $(load_dir)/nmps.dbs; \
fi fi
-include $(release_root)/bld/$(type_name)/nmps.d_h_wbl $(bld_dir)$(dir_ext) :
-include $(release_root)/bld/$(type_name)/nmps.d_hpp_wbl @ $(mkdir) $(mkdirflags) $(basename $@)
-include $(release_root)/bld/$(type_name)/nmps.d_html_wbl
-include $(release_root)/bld/$(type_name)/nmps.d_en_us_xtthelp_wbl -include $(bld_dir)/nmps.d_h_wbl
-include $(release_root)/bld/$(type_name)/nmps.d_sv_se_xtthelp_wbl -include $(bld_dir)/nmps.d_hpp_wbl
-include $(bld_dir)/nmps.d_html_wbl
-include $(bld_dir)/nmps.d_en_us_xtthelp_wbl
-include $(bld_dir)/nmps.d_sv_se_xtthelp_wbl
-include $(bld_dir)/remote.d_wbl
......
...@@ -24,12 +24,12 @@ endif ...@@ -24,12 +24,12 @@ endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy lib exe | silent
init : silent init : dirs | silent
copy : $(inc_dir)/pwr_remoteclasses.h \ copy : $(inc_dir)/pwr_remoteclasses.h \
$(inc_dir)/pwr_remoteclasses.hpp \ $(inc_dir)/pwr_remoteclasses.hpp \
...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/remote_allclasses.html \ ...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/remote_allclasses.html \
$(exe_dir)/sv_se/remote_xtthelp.dat \ $(exe_dir)/sv_se/remote_xtthelp.dat \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : clean :
realclean : clean $(clean_wbl) realclean : clean $(clean_wbl)
...@@ -51,21 +53,21 @@ silent : ...@@ -51,21 +53,21 @@ silent :
$(load_dir)/remote.dbs : $(load_dir)/remote.dbs :
@ echo "Generating loadfile for remote" @ echo "Generating loadfile for remote"
@ export pwr_load=$(pwr_eload);\ export pwr_load=$(pwr_eload);\
wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/remote/src/\"/out=\"$(target)\" wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/remote/src/\"/out=\"$(target)\"/depend=\"$(bld_dir)/remote.d_wbl\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_remoteclasses.h : $(inc_dir)/pwr_remoteclasses.h :
@ echo "Generating struct files for remote classes..." @ echo "Generating struct files for remote classes..."
@ $(co_convert) -s -d $(inc_dir) -y $(release_root)/bld/$(type_name)/remote.d_h_wbl "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load" @ $(co_convert) -s -d $(inc_dir) -y $(bld_dir)/remote.d_h_wbl "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load"
$(inc_dir)/pwr_remoteclasses.hpp : $(inc_dir)/pwr_remoteclasses.hpp :
@ echo "Generating hpp files for remote classes..." @ echo "Generating hpp files for remote classes..."
@ $(co_convert) -po -d $(inc_dir) -y $(release_root)/bld/$(type_name)/remote.d_hpp_wbl "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load" @ $(co_convert) -po -d $(inc_dir) -y $(bld_dir)/remote.d_hpp_wbl "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load"
$(doc_dir)/en_us/orm/remote_allclasses.html : $(doc_dir)/en_us/orm/remote_allclasses.html :
@ echo "Generating html files for remote classes en_us..." @ echo "Generating html files for remote classes en_us..."
@ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(release_root)/bld/$(type_name)/remote.d_html_wbl -g $(pwre_sroot)/wbl/remote/src/cnv_setup.dat "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load" @ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(bld_dir)/remote.d_html_wbl -g $(pwre_sroot)/wbl/remote/src/cnv_setup.dat "$(pwre_sroot)/wbl/remote/src/remote_*.wb_load"
@ echo "Generating html files for remote structs en_us..." @ echo "Generating html files for remote structs en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_remoteclasses.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_remoteclasses.h
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_remoteclasses.hpp @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_remoteclasses.hpp
...@@ -86,21 +88,24 @@ $(doc_dir)/en_us/orm/remote_allclasses.html : ...@@ -86,21 +88,24 @@ $(doc_dir)/en_us/orm/remote_allclasses.html :
$(exe_dir)/en_us/remote_xtthelp.dat : $(exe_dir)/en_us/remote_xtthelp.dat :
@ echo "Generating xtt help files for remote classes" @ echo "Generating xtt help files for remote classes"
@ $(co_convert) -x -d $(exe_dir)/en_us -y $(release_root)/bld/$(type_name)/remote.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/remote/src/remote_c_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/en_us -y $(bld_dir)/remote.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/remote/src/remote_c_*.wb_load"
$(exe_dir)/sv_se/remote_xtthelp.dat : $(exe_dir)/sv_se/remote_xtthelp.dat :
@ echo "Generating xtt help files for remote classes" @ echo "Generating xtt help files for remote classes"
@ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(release_root)/bld/$(type_name)/remote.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/remote/src/remote_c_*.wb_load" @ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(bld_dir)/remote.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/remote/src/remote_c_*.wb_load"
clean_wbl : clean_wbl :
@ if [ -e $(load_dir)/remote.dbs ]; then \ @ if [ -e $(load_dir)/remote.dbs ]; then \
$(rm) $(rmflags) $(load_dir)/remote.dbs; \ $(rm) $(rmflags) $(load_dir)/remote.dbs; \
fi fi
-include $(release_root)/bld/$(type_name)/remote.d_h_wbl $(bld_dir)$(dir_ext) :
-include $(release_root)/bld/$(type_name)/remote.d_hpp_wbl @ $(mkdir) $(mkdirflags) $(basename $@)
-include $(release_root)/bld/$(type_name)/remote.d_html_wbl
-include $(release_root)/bld/$(type_name)/remote.d_en_us_xtthelp_wbl
-include $(release_root)/bld/$(type_name)/remote.d_sv_se_xtthelp_wbl
-include $(bld_dir)/remote.d_h_wbl
-include $(bld_dir)/remote.d_hpp_wbl
-include $(bld_dir)/remote.d_html_wbl
-include $(bld_dir)/remote.d_en_us_xtthelp_wbl
-include $(bld_dir)/remote.d_sv_se_xtthelp_wbl
-include $(bld_dir)/remote.d_wbl
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 SSAB EMEA AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#include <stdio.h>
#include <float.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include "pwr.h"
#include "co_dcli.h"
#include "co_cdh.h"
#include "co_depend.h"
using namespace std;
void CoDepend::add( const char *fname)
{
if ( strcmp( filename, "") == 0)
return;
string fnamestr( fname);
depend.push_back(fnamestr);
}
void CoDepend::print()
{
if ( strcmp( filename, "") == 0)
return;
dcli_translate_filename( dependfile, dependfile);
dcli_translate_filename( filename, filename);
ofstream fp( filename);
fp << dependfile << " : \\" << endl;
for ( unsigned int i = 0; i < depend.size(); i++)
fp << depend[i] << " \\" << endl;
fp << endl;
fp.close();
}
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 SSAB EMEA AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#ifndef co_depend_h
#define co_depend_h
/* co_depend.h -- Print build dependencies */
#include <stdio.h>
#include <string>
#include <vector>
#include "pwr.h"
using namespace std;
class CoDepend {
private:
vector<string> depend;
pwr_tFileName filename;
pwr_tFileName dependfile;
public:
CoDepend()
{
strcpy( filename, "");
strcpy( dependfile, "");
}
void add( const char *dname);
void set_dependfile( char *dname) {strncpy( dependfile, dname, sizeof(dependfile));}
void set_filename( char *fname) {strncpy( filename, fname, sizeof(filename));}
void print();
};
#endif
...@@ -72,6 +72,8 @@ export_wbl_html_en_us := $(patsubst %.wb_load,$(doc_dir)/en_us/orm/%_allclasses. ...@@ -72,6 +72,8 @@ export_wbl_html_en_us := $(patsubst %.wb_load,$(doc_dir)/en_us/orm/%_allclasses.
export_wbl_html_sv_se := $(patsubst %.wb_load,$(doc_dir)/sv_se/orm/%_allclasses.html,$(wbl_sources)) export_wbl_html_sv_se := $(patsubst %.wb_load,$(doc_dir)/sv_se/orm/%_allclasses.html,$(wbl_sources))
export_wbl_ps_en_us := $(patsubst %.wb_load,$(doc_dir)/en_us/%.ps,$(wbl_sources)) export_wbl_ps_en_us := $(patsubst %.wb_load,$(doc_dir)/en_us/%.ps,$(wbl_sources))
export_wbl_ps_sv_se := $(patsubst %.wb_load,$(doc_dir)/sv_se/%.ps,$(wbl_sources)) export_wbl_ps_sv_se := $(patsubst %.wb_load,$(doc_dir)/sv_se/%.ps,$(wbl_sources))
bld_dir := $(addprefix $(release_root)/bld/$(type_name)/, $(patsubst %.wb_load,%,$(wbl_sources)))
dbs_dependencies := $(bld_dir)/mcomp.d_wbl
clean_dbs := $(patsubst %.wb_load,clean_%.dbs,$(wbl_sources)) clean_dbs := $(patsubst %.wb_load,clean_%.dbs,$(wbl_sources))
clean_h := $(patsubst %.wb_load,clean_%.h,$(wbl_sources)) clean_h := $(patsubst %.wb_load,clean_%.h,$(wbl_sources))
...@@ -85,10 +87,13 @@ clean_ps_en_us := $(patsubst %.wb_load,clean_%_en_us.ps,$(wbl_sources)) ...@@ -85,10 +87,13 @@ clean_ps_en_us := $(patsubst %.wb_load,clean_%_en_us.ps,$(wbl_sources))
.SUFFIXES: .SUFFIXES:
$(bld_dir)$(dir_ext) :
@ $(mkdir) $(mkdirflags) $(basename $@)
$(load_dir)/%.dbs : ../../%.wb_load $(load_dir)/%.dbs : ../../%.wb_load
@ echo "Generating loadfile for $(source)" @ echo "Generating loadfile for $(source)"
@ export pwr_load=$(pwr_eload);\ @ export pwr_load=$(pwr_eload);\
wb_cmd -q -i create snapshot $(wblflags) /file=\"$(source)\"/out=\"$(target)\" wb_cmd -q -i create snapshot $(wblflags) /file=\"$(source)\"/out=\"$(target)\"/depend=\"$(dbs_dependencies)\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_%classes.h : ../../%.wb_load $(inc_dir)/pwr_%classes.h : ../../%.wb_load
...@@ -149,12 +154,12 @@ $(load_dir)/%.flw : ../../%.flw ...@@ -149,12 +154,12 @@ $(load_dir)/%.flw : ../../%.flw
@ $(log_h_h) @ $(log_h_h)
@ $(cp) $(cpflags) $(source) $(target) @ $(cp) $(cpflags) $(source) $(target)
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy exe | silent
init : silent init : dirs | silent
lib : $(export_wbl_dbs) | silent lib : $(export_wbl_dbs) | silent
...@@ -175,6 +180,8 @@ exe: $(export_wbl_xtthelp_en_us) \ ...@@ -175,6 +180,8 @@ exe: $(export_wbl_xtthelp_en_us) \
$(export_pdf_sv_se) \ $(export_pdf_sv_se) \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : \ clean : \
$(clean_xtthelp_sv_se) $(clean_xtthelp_en_us) \ $(clean_xtthelp_sv_se) $(clean_xtthelp_en_us) \
$(clean_html_sv_se) $(clean_html_en_us) \ $(clean_html_sv_se) $(clean_html_en_us) \
...@@ -242,6 +249,7 @@ $(clean_xtthelp_en_us) : clean_%_en_us.xtthelp : $(exe_dir)/en_us/%_xtthelp.dat ...@@ -242,6 +249,7 @@ $(clean_xtthelp_en_us) : clean_%_en_us.xtthelp : $(exe_dir)/en_us/%_xtthelp.dat
$(rm) $(rmflags) $(source); \ $(rm) $(rmflags) $(source); \
fi fi
-include $(dbs_dependencies)
endif endif
...@@ -895,47 +895,47 @@ sub create_all_modules () ...@@ -895,47 +895,47 @@ sub create_all_modules ()
} }
_module("rt"); _module("rt");
create(); create_module();
_module("xtt"); _module("xtt");
create(); create_module();
_module("wb"); _module("wb");
create(); create_module();
_module("nmps"); _module("nmps");
create(); create_module();
_module("tlog"); _module("tlog");
create(); create_module();
_module("remote"); _module("remote");
create(); create_module();
_module("java"); _module("java");
create(); create_module();
_module("bcomp"); _module("bcomp");
create(); create_module();
_module("simul"); _module("simul");
create(); create_module();
_module("misc"); _module("misc");
create(); create_module();
_module("profibus"); _module("profibus");
create(); create_module();
_module("sev"); _module("sev");
create(); create_module();
_module("opc"); _module("opc");
create(); create_module();
_module("ssabox"); _module("ssabox");
create(); create_module();
_module("othermanu"); _module("othermanu");
create(); create_module();
_module("otherio"); _module("otherio");
create(); create_module();
_module("abb"); _module("abb");
create(); create_module();
_module("siemens"); _module("siemens");
create(); create_module();
_module("inor"); _module("inor");
create(); create_module();
_module("klocknermoeller"); _module("klocknermoeller");
create(); create_module();
_module("telemecanique"); _module("telemecanique");
create(); create_module();
} }
# #
...@@ -1005,7 +1005,9 @@ sub build_module () ...@@ -1005,7 +1005,9 @@ sub build_module ()
_build("lib", "statussrv", "src", "copy"); _build("lib", "statussrv", "src", "copy");
_build("lib", "co", "src", "all"); _build("lib", "co", "src", "all");
_build("exe", "co*", "src", "all"); _build("exe", "co*", "src", "all");
_build("wbl", "pwrs", "src", "init");
_build("wbl", "pwrs", "src", "copy"); _build("wbl", "pwrs", "src", "copy");
_build("wbl", "pwrb", "src", "init");
_build("wbl", "pwrb", "src", "copy"); _build("wbl", "pwrb", "src", "copy");
_build("exe", "*", "src", "copy"); _build("exe", "*", "src", "copy");
_build("exp", "stdsoap2", "src", "copy"); _build("exp", "stdsoap2", "src", "copy");
...@@ -1089,6 +1091,7 @@ sub build_module () ...@@ -1089,6 +1091,7 @@ sub build_module ()
} }
elsif ( $module eq "profibus") { elsif ( $module eq "profibus") {
if ( $copy == 1) { if ( $copy == 1) {
_build("wbl", "*", "src", "init");
_build("wbl", "*", "src", "copy"); _build("wbl", "*", "src", "copy");
_build("lib", "*", "src", "init"); _build("lib", "*", "src", "init");
_build("lib", "*", "src", "copy"); _build("lib", "*", "src", "copy");
...@@ -1116,6 +1119,7 @@ sub build_module () ...@@ -1116,6 +1119,7 @@ sub build_module ()
} }
else { else {
if ( $copy == 1) { if ( $copy == 1) {
_build("wbl", "*", "src", "init");
_build("wbl", "*", "src", "copy"); _build("wbl", "*", "src", "copy");
_build("lib", "*", "src", "init"); _build("lib", "*", "src", "init");
_build("lib", "*", "src", "copy"); _build("lib", "*", "src", "copy");
...@@ -1188,10 +1192,26 @@ sub copy () ...@@ -1188,10 +1192,26 @@ sub copy ()
} }
} }
sub create()
{
if ( $_[0] eq "all" || $_[0] eq "") {
create_all_modules();
return;
}
if ( $_[0] eq "module" || $_[0] eq "") {
create_module();
return;
}
printf("++ Undefined command\n");
}
# #
# create # create
# #
sub create() sub create_module()
{ {
my($newdir); my($newdir);
my($root) = $ENV{"pwre_broot"}; my($root) = $ENV{"pwre_broot"};
......
...@@ -14,6 +14,8 @@ Arguments ...@@ -14,6 +14,8 @@ Arguments
> pwre configure --version "29-MAY-2011 16:00:00" > pwre configure --version "29-MAY-2011 16:00:00"
--reset-version Reset previous version --reset-version Reset previous version
--lock-dbs Lock dbs-files. Dbs-files will not be rebuilt.
--unlock-dbs Unlock dbs-files
EOF EOF
} }
...@@ -336,19 +338,32 @@ if test ! -e $pwre_croot; then ...@@ -336,19 +338,32 @@ if test ! -e $pwre_croot; then
fi fi
# Options # Options
declare -i buildversion_set=0
declare -i lockdbs_set=0
declare -i lockdbs=0
if [ "$1" = "--help" ]; then if [ "$1" = "--help" ]; then
pwre_help pwre_help
exit exit
elif [ "$1" = "--version" ] && [ "$2" != "" ] && [ "$3" != "" ]; then elif [ "$1" = "--version" ] && [ "$2" != "" ] && [ "$3" != "" ]; then
buildversion=$2" "$3 buildversion=$2" "$3
buildversion_set=1
elif [ "$1" = "--reset-version" ]; then elif [ "$1" = "--reset-version" ]; then
buildversion="" buildversion=""
buildversion_set=1
elif [ "$1" = "--lock-dbs" ]; then
lockdbs=1
lockdbs_set=1
elif [ "$1" = "--unlock-dbs" ]; then
lockdbs=0
lockdbs_set=1
elif [ "$1" = "--ebuild" ]; then elif [ "$1" = "--ebuild" ]; then
ebuild=1 ebuild=1
elif [ "$1" != "" ]; then elif [ "$1" != "" ]; then
echo "Unknown option \"$1\"" echo "Unknown option \"$1\""
exit exit
else fi
if [ $buildversion_set -eq 0 ]; then
# Catch current version # Catch current version
if [ -e $cfile ]; then if [ -e $cfile ]; then
ver=`eval cat $cfile | grep "\bexport PWRE_CONF_BUILDVERSION"` ver=`eval cat $cfile | grep "\bexport PWRE_CONF_BUILDVERSION"`
...@@ -357,6 +372,14 @@ else ...@@ -357,6 +372,14 @@ else
buildversion=$ver buildversion=$ver
fi fi
fi fi
if [ $lockdbs_set -eq 0 ]; then
# Catch current version
if [ -e $cfile ]; then
ver=`eval cat $cfile | grep "\bexport PWRE_CONF_LOCKDBS"`
ver=${ver#*=}
lockdbs=$ver
fi
fi
pwre_create_blddir pwre_create_blddir
...@@ -369,7 +392,8 @@ if [ "$buildversion" != "" ]; then ...@@ -369,7 +392,8 @@ if [ "$buildversion" != "" ]; then
else else
echo "export PWRE_CONF_BUILDVERSION=\"0\"" >> $cfile echo "export PWRE_CONF_BUILDVERSION=\"0\"" >> $cfile
fi fi
echo "export PWRE_CONF_LOCKDBS=$lockdbs" >> $cfile
if [ $pwre_hw == "hw_arm" ] && [ $ebuild -eq 1 ]; then if [ $pwre_hw == "hw_arm" ] && [ $ebuild -eq 1 ]; then
echo "Arm ebuild" echo "Arm ebuild"
pwre_config_check_lib gtk GTK gtk gtk 0 "/usr/lib/libgtk-x11-2.0.so:/usr/lib/$hwpl-linux-$gnu/libgtk-x11-2.0.so" pwre_config_check_lib gtk GTK gtk gtk 0 "/usr/lib/libgtk-x11-2.0.so:/usr/lib/$hwpl-linux-$gnu/libgtk-x11-2.0.so"
......
...@@ -24,12 +24,12 @@ endif ...@@ -24,12 +24,12 @@ endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy lib exe | silent
init : silent init : dirs | silent
copy : $(inc_dir)/pwr_baseclasses.h \ copy : $(inc_dir)/pwr_baseclasses.h \
$(inc_dir)/pwr_baseclasses.hpp \ $(inc_dir)/pwr_baseclasses.hpp \
...@@ -43,6 +43,8 @@ exe : $(doc_dir)/en_us/orm/pwrb_allclasses.html \ ...@@ -43,6 +43,8 @@ exe : $(doc_dir)/en_us/orm/pwrb_allclasses.html \
$(exe_dir)/sv_se/pwrb_xtthelp.dat \ $(exe_dir)/sv_se/pwrb_xtthelp.dat \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : clean :
realclean : clean clean_pwrb_xtthelp clean_pwrb_html clean_baseclasses realclean : clean clean_pwrb_xtthelp clean_pwrb_html clean_baseclasses
...@@ -52,20 +54,20 @@ silent : ...@@ -52,20 +54,20 @@ silent :
$(load_dir)/pwrb.dbs : $(load_dir)/pwrb.dbs :
@ echo "Generating loadfile for pwrb" @ echo "Generating loadfile for pwrb"
@ wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/pwrb/src/\"/out=\"$(target)\" @ wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/pwrb/src/\"/out=\"$(target)\"/depend=\"$(bld_dir)/pwrb.d_wbl\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_baseclasses.h : $(inc_dir)/pwr_baseclasses.h :
@ echo "Generating struct files for pwrb classes..." @ echo "Generating struct files for pwrb classes..."
@ $(co_convert) -so -d $(inc_dir) -y $(release_root)/bld/$(type_name)/pwrb.d_h_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load" @ $(co_convert) -so -d $(inc_dir) -y $(bld_dir)/pwrb.d_h_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load"
$(inc_dir)/pwr_baseclasses.hpp : $(inc_dir)/pwr_baseclasses.hpp :
@ echo "Generating hpp files for pwrb classes..." @ echo "Generating hpp files for pwrb classes..."
@ $(co_convert) -po -d $(inc_dir) -y $(release_root)/bld/$(type_name)/pwrb.d_hpp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load" @ $(co_convert) -po -d $(inc_dir) -y $(bld_dir)/pwrb.d_hpp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load"
$(doc_dir)/en_us/orm/pwrb_allclasses.html : $(doc_dir)/en_us/orm/pwrb_allclasses.html :
@ echo "Generating html files for pwrb classes en_us..." @ echo "Generating html files for pwrb classes en_us..."
@ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(release_root)/bld/$(type_name)/pwrb.d_html_wbl -g $(pwre_sroot)/wbl/pwrb/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load" @ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(bld_dir)/pwrb.d_html_wbl -g $(pwre_sroot)/wbl/pwrb/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrb/src/pwrb_*.wb_load"
@ echo "Generating html files for pwrb structs en_us..." @ echo "Generating html files for pwrb structs en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_baseclasses.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_baseclasses.h
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_baseclasses.hpp @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_baseclasses.hpp
...@@ -90,11 +92,11 @@ $(doc_dir)/en_us/orm/pwrb_allclasses.html : ...@@ -90,11 +92,11 @@ $(doc_dir)/en_us/orm/pwrb_allclasses.html :
$(exe_dir)/en_us/pwrb_xtthelp.dat : $(exe_dir)/en_us/pwrb_xtthelp.dat :
@ echo "Generating xtt help files for pwrb classes en_us" @ echo "Generating xtt help files for pwrb classes en_us"
@ $(co_convert) -x -d $(exe_dir)/en_us -y $(release_root)/bld/$(type_name)/pwrb.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/en_us -y $(bld_dir)/pwrb.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load"
$(exe_dir)/sv_se/pwrb_xtthelp.dat : $(exe_dir)/sv_se/pwrb_xtthelp.dat :
@ echo "Generating xtt help files for pwrb classes sv_se" @ echo "Generating xtt help files for pwrb classes sv_se"
@ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(release_root)/bld/$(type_name)/pwrb.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load" @ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(bld_dir)/pwrb.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load"
#$(export_wbl) : $(cnf_dir)/%.wb_vers : %.wb_load #$(export_wbl) : $(cnf_dir)/%.wb_vers : %.wb_load
# @ write sys$$output "Exporting $< ..." # @ write sys$$output "Exporting $< ..."
...@@ -124,8 +126,12 @@ clean_wbl : ...@@ -124,8 +126,12 @@ clean_wbl :
$(rm) $(rmflags) $(load_dir)/pwrb.dbs; \ $(rm) $(rmflags) $(load_dir)/pwrb.dbs; \
fi fi
-include $(release_root)/bld/$(type_name)/pwrb.d_h_wbl $(bld_dir)$(dir_ext) :
-include $(release_root)/bld/$(type_name)/pwrb.d_hpp_wbl @ $(mkdir) $(mkdirflags) $(basename $@)
-include $(release_root)/bld/$(type_name)/pwrb.d_html_wbl
-include $(release_root)/bld/$(type_name)/pwrb.d_en_us_xtthelp_wbl -include $(bld_dir)/pwrb.d_h_wbl
-include $(release_root)/bld/$(type_name)/pwrb.d_sv_se_xtthelp_wbl -include $(bld_dir)/pwrb.d_hpp_wbl
-include $(bld_dir)/pwrb.d_html_wbl
-include $(bld_dir)/pwrb.d_en_us_xtthelp_wbl
-include $(bld_dir)/pwrb.d_sv_se_xtthelp_wbl
-include $(bld_dir)/pwrb.d_wbl
...@@ -23,12 +23,12 @@ ifndef rules_mk ...@@ -23,12 +23,12 @@ ifndef rules_mk
endif endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy lib exe | silent all : init copy lib exe | silent
init : silent init : dirs | silent
copy : $(inc_dir)/pwr_systemclasses.h \ copy : $(inc_dir)/pwr_systemclasses.h \
$(inc_dir)/pwr_systemclasses.hpp \ $(inc_dir)/pwr_systemclasses.hpp \
...@@ -41,6 +41,8 @@ exe : $(doc_dir)/en_us/orm/pwrs_allclasses.html \ ...@@ -41,6 +41,8 @@ exe : $(doc_dir)/en_us/orm/pwrs_allclasses.html \
$(exe_dir)/sv_se/pwrs_xtthelp.dat \ $(exe_dir)/sv_se/pwrs_xtthelp.dat \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : $(clean_wbl) clean : $(clean_wbl)
realclean : clean clean_pwrs_xtthelp clean_pwrs_html clean_systemclasses realclean : clean clean_pwrs_xtthelp clean_pwrs_html clean_systemclasses
...@@ -50,20 +52,20 @@ silent : ...@@ -50,20 +52,20 @@ silent :
$(load_dir)/pwrs.dbs : $(load_dir)/pwrs.dbs :
@ echo "Generating loadfile for pwrs" @ echo "Generating loadfile for pwrs"
@ wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/pwrs/src/\"/out=\"$(target)\" @ wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/pwrs/src/\"/out=\"$(target)\"/depend=\"$(bld_dir)/pwrs.d_wbl\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_systemclasses.h : $(inc_dir)/pwr_systemclasses.h :
@ echo "Generating struct files for pwrs classes..." @ echo "Generating struct files for pwrs classes..."
@ $(co_convert) -so -d $(inc_dir) -y $(release_root)/bld/$(type_name)/pwrs.d_h_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load" @ $(co_convert) -so -d $(inc_dir) -y $(bld_dir)/pwrs.d_h_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load"
$(inc_dir)/pwr_systemclasses.hpp : $(inc_dir)/pwr_systemclasses.hpp :
@ echo "Generating hpp files for pwrs classes..." @ echo "Generating hpp files for pwrs classes..."
@ $(co_convert) -po -d $(inc_dir) -y $(release_root)/bld/$(type_name)/pwrs.d_hpp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load" @ $(co_convert) -po -d $(inc_dir) -y $(bld_dir)/pwrs.d_hpp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load"
$(doc_dir)/en_us/orm/pwrs_allclasses.html : $(doc_dir)/en_us/orm/pwrs_allclasses.html :
@ echo "Generating html files for pwrs classes en_us..." @ echo "Generating html files for pwrs classes en_us..."
@ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(release_root)/bld/$(type_name)/pwrs.d_html_wbl -g $(pwre_sroot)/wbl/pwrs/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load" @ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(bld_dir)/pwrs.d_html_wbl -g $(pwre_sroot)/wbl/pwrs/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load"
@ echo "Generating html files for pwrs structs en_us..." @ echo "Generating html files for pwrs structs en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_systemclasses.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_systemclasses.h
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr.h
...@@ -80,11 +82,11 @@ $(doc_dir)/en_us/orm/pwrs_allclasses.html : ...@@ -80,11 +82,11 @@ $(doc_dir)/en_us/orm/pwrs_allclasses.html :
$(exe_dir)/en_us/pwrs_xtthelp.dat : $(exe_dir)/en_us/pwrs_xtthelp.dat :
@ echo "Generating xtt help files for pwrs classes en_us" @ echo "Generating xtt help files for pwrs classes en_us"
@ $(co_convert) -x -d $(exe_dir)/en_us -y $(release_root)/bld/$(type_name)/pwrs.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/en_us -y $(bld_dir)/pwrs.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load"
$(exe_dir)/sv_se/pwrs_xtthelp.dat : $(exe_dir)/sv_se/pwrs_xtthelp.dat :
@ echo "Generating xtt help files for pwrs classes sv_se" @ echo "Generating xtt help files for pwrs classes sv_se"
@ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(release_root)/bld/$(type_name)/pwrs.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load" @ $(co_convert) -x -l sv_se -d $(exe_dir)/sv_se -y $(bld_dir)/pwrs.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load"
#$(export_wbl) : $(cnf_dir)/%.wb_vers : %.wb_load #$(export_wbl) : $(cnf_dir)/%.wb_vers : %.wb_load
...@@ -113,8 +115,12 @@ clean_systemclasses : ...@@ -113,8 +115,12 @@ clean_systemclasses :
$(rm) $(rmflags) $(inc_dir)/pwrs_c_*.h; \ $(rm) $(rmflags) $(inc_dir)/pwrs_c_*.h; \
fi fi
-include $(release_root)/bld/$(type_name)/pwrs.d_h_wbl $(bld_dir)$(dir_ext) :
-include $(release_root)/bld/$(type_name)/pwrs.d_hpp_wbl @ $(mkdir) $(mkdirflags) $(basename $@)
-include $(release_root)/bld/$(type_name)/pwrs.d_html_wbl
-include $(release_root)/bld/$(type_name)/pwrs.d_en_us_xtthelp_wbl -include $(bld_dir)/pwrs.d_h_wbl
-include $(release_root)/bld/$(type_name)/pwrs.d_sv_se_xtthelp_wbl -include $(bld_dir)/pwrs.d_hpp_wbl
-include $(bld_dir)/pwrs.d_html_wbl
-include $(bld_dir)/pwrs.d_en_us_xtthelp_wbl
-include $(bld_dir)/pwrs.d_sv_se_xtthelp_wbl
-include $(bld_dir)/pwrs.d_wbl
...@@ -23,12 +23,12 @@ ifndef rules_mk ...@@ -23,12 +23,12 @@ ifndef rules_mk
endif endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy exe | silent
init : silent init : dirs | silent
copy : silent copy : silent
...@@ -36,6 +36,8 @@ lib : $(load_dir)/rt.dbs | silent ...@@ -36,6 +36,8 @@ lib : $(load_dir)/rt.dbs | silent
exe : silent exe : silent
dirs : $(bld_dir)$(dir_ext)
clean : $(clean_wbl) clean : $(clean_wbl)
realclean : clean realclean : clean
...@@ -45,10 +47,17 @@ silent : ...@@ -45,10 +47,17 @@ silent :
$(load_dir)/rt.dbs : $(load_dir)/rt.dbs :
@ echo "Generating snapshot for rt" @ echo "Generating snapshot for rt"
@ wb_cmd -i -q create snapshot /file=\"$(pwre_sroot)/wbl/rt/src/rt.wb_load\"/out=\"$(target)\" @ wb_cmd -i -q create snapshot /file=\"$(pwre_sroot)/wbl/rt/src/rt.wb_load\"/out=\"$(target)\"/depend=\"$(bld_dir)/rt.d_wbl\"
@ chmod a+w $(target) @ if [ -e $(target) ]; then \
chmod a+w $(target); \
fi
clean_wbl : clean_wbl :
@ if [ -e $(load_dir)/rt.dbs ]; then \ @ if [ -e $(load_dir)/rt.dbs ]; then \
$(rm) $(rmflags) $(load_dir)/rt.dbs; \ $(rm) $(rmflags) $(load_dir)/rt.dbs; \
fi fi
$(bld_dir)$(dir_ext) :
@ $(mkdir) $(mkdirflags) $(basename $@)
-include $(bld_dir)/rt.d_wbl
...@@ -23,12 +23,12 @@ ifndef rules_mk ...@@ -23,12 +23,12 @@ ifndef rules_mk
endif endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy exe | silent
init : silent init : dirs | silent
copy : silent copy : silent
...@@ -36,6 +36,8 @@ lib : $(load_dir)/wb.dbs | silent ...@@ -36,6 +36,8 @@ lib : $(load_dir)/wb.dbs | silent
exe : exe :
dirs : $(bld_dir)$(dir_ext)
clean : $(clean_wbl) clean : $(clean_wbl)
realclean : clean realclean : clean
...@@ -45,10 +47,17 @@ silent : ...@@ -45,10 +47,17 @@ silent :
$(load_dir)/wb.dbs : $(load_dir)/wb.dbs :
@ echo "Generating snapshot for wb" @ echo "Generating snapshot for wb"
@ wb_cmd -i -q create snapshot /file=\"$(pwre_sroot)/wbl/wb/src/wb.wb_load\"/out=\"$(target)\" @ wb_cmd -i -q create snapshot /file=\"$(pwre_sroot)/wbl/wb/src/wb.wb_load\"/out=\"$(target)\"/depend=\"$(bld_dir)/wb.d_wbl\"
@ chmod a+w $(target) @ if [ -e $(target) ]; then \
chmod a+w $(target); \
fi
clean_wbl : clean_wbl :
@ if [ -e $(load_dir)/wb.dbs ]; then \ @ if [ -e $(load_dir)/wb.dbs ]; then \
$(rm) $(rmflags) $(load_dir)/wb.dbs; \ $(rm) $(rmflags) $(load_dir)/wb.dbs; \
fi fi
$(bld_dir)$(dir_ext) :
@ $(mkdir) $(mkdirflags) $(basename $@)
-include $(bld_dir)/wb.d_wbl
...@@ -24,12 +24,12 @@ endif ...@@ -24,12 +24,12 @@ endif
.PHONY : all init copy lib exe clean realclean\ .PHONY : all init copy lib exe dirs clean realclean\
$(clean_wbl) $(clean_wbl)
all : init copy exe | silent all : init copy exe | silent
init : silent init : dirs | silent
copy : $(inc_dir)/pwr_tlogclasses.h \ copy : $(inc_dir)/pwr_tlogclasses.h \
$(inc_dir)/pwr_tlogclasses.hpp \ $(inc_dir)/pwr_tlogclasses.hpp \
...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/tlog_allclasses.html \ ...@@ -42,6 +42,8 @@ exe : $(doc_dir)/en_us/orm/tlog_allclasses.html \
$(exe_dir)/sv_se/tlog_xtthelp.dat \ $(exe_dir)/sv_se/tlog_xtthelp.dat \
| silent | silent
dirs : $(bld_dir)$(dir_ext)
clean : clean :
realclean : clean $(clean_wbl) realclean : clean $(clean_wbl)
...@@ -52,20 +54,20 @@ silent : ...@@ -52,20 +54,20 @@ silent :
$(load_dir)/tlog.dbs : $(load_dir)/tlog.dbs :
@ echo "Generating loadfile for tlog" @ echo "Generating loadfile for tlog"
@ export pwr_load=$(pwr_eload); \ @ export pwr_load=$(pwr_eload); \
wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/tlog/src/\"/out=\"$(target)\" wb_cmd -q -i create snapshot $(wblflags) /file=\"$(pwre_sroot)/wbl/tlog/src/\"/out=\"$(target)\"/depend=\"$(bld_dir)/tlog.d_wbl\"
@ chmod a+w $(target) @ chmod a+w $(target)
$(inc_dir)/pwr_tlogclasses.h : $(inc_dir)/pwr_tlogclasses.h :
@ echo "Generating struct files for tlog classes..." @ echo "Generating struct files for tlog classes..."
@ $(co_convert) -so -d $(inc_dir) -y $(release_root)/bld/$(type_name)/tlog.d_h_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load" @ $(co_convert) -so -d $(inc_dir) -y $(bld_dir)/tlog.d_h_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
$(inc_dir)/pwr_tlogclasses.hpp : $(inc_dir)/pwr_tlogclasses.hpp :
@ echo "Generating hpp files for tlog classes..." @ echo "Generating hpp files for tlog classes..."
@ $(co_convert) -po -d $(inc_dir) -y $(release_root)/bld/$(type_name)/tlog.d_hpp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load" @ $(co_convert) -po -d $(inc_dir) -y $(bld_dir)/tlog.d_hpp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
$(doc_dir)/en_us/orm/tlog_allclasses.html : $(doc_dir)/en_us/orm/tlog_allclasses.html :
@ echo "Generating html files for tlog classes en_us..." @ echo "Generating html files for tlog classes en_us..."
@ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(release_root)/bld/$(type_name)/tlog.d_html_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load" @ $(co_convert) -w -d $(doc_dir)/en_us/orm -y $(bld_dir)/tlog.d_html_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
@ echo "Generating html files for tlog structs en_us..." @ echo "Generating html files for tlog structs en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_tlogclasses.h @ $(co_convert) -c -d $(doc_dir)/en_us/orm $(inc_dir)/pwr_tlogclasses.h
@ echo "Generating html files for tlog code en_us..." @ echo "Generating html files for tlog code en_us..."
...@@ -83,19 +85,23 @@ $(doc_dir)/en_us/orm/tlog_allclasses.html : ...@@ -83,19 +85,23 @@ $(doc_dir)/en_us/orm/tlog_allclasses.html :
$(exe_dir)/en_us/tlog_xtthelp.dat : $(exe_dir)/en_us/tlog_xtthelp.dat :
@ echo "Generating xtt help files for tlog classes en_us" @ echo "Generating xtt help files for tlog classes en_us"
@ $(co_convert) -x -d $(exe_dir)/en_us -y $(release_root)/bld/$(type_name)/tlog.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/en_us -y $(bld_dir)/tlog.d_en_us_xtthelp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
$(exe_dir)/sv_se/tlog_xtthelp.dat : $(exe_dir)/sv_se/tlog_xtthelp.dat :
@ echo "Generating xtt help files for tlog classes sv_se" @ echo "Generating xtt help files for tlog classes sv_se"
@ $(co_convert) -x -d $(exe_dir)/sv_se -y $(release_root)/bld/$(type_name)/tlog.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load" @ $(co_convert) -x -d $(exe_dir)/sv_se -y $(bld_dir)/tlog.d_sv_se_xtthelp_wbl "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
clean_wbl : clean_wbl :
@ if [ -e $(load_dir)/tlog.dbs ]; then \ @ if [ -e $(load_dir)/tlog.dbs ]; then \
$(rm) $(rmflags) $(load_dir)/tlog.dbs; \ $(rm) $(rmflags) $(load_dir)/tlog.dbs; \
fi fi
-include $(release_root)/bld/$(type_name)/tlog.d_h_wbl $(bld_dir)$(dir_ext) :
-include $(release_root)/bld/$(type_name)/tlog.d_hpp_wbl @ $(mkdir) $(mkdirflags) $(basename $@)
-include $(release_root)/bld/$(type_name)/tlog.d_html_wbl
-include $(release_root)/bld/$(type_name)/tlog.d_en_us_xtthelp_wbl -include $(bld_dir)/tlog.d_h_wbl
-include $(release_root)/bld/$(type_name)/tlog.d_sv_se_xtthelp_wbl -include $(bld_dir)/tlog.d_hpp_wbl
-include $(bld_dir)/tlog.d_html_wbl
-include $(bld_dir)/tlog.d_en_us_xtthelp_wbl
-include $(bld_dir)/tlog.d_sv_se_xtthelp_wbl
-include $(bld_dir)/tlog.d_wbl
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
#include "co_pdr.h" #include "co_pdr.h"
#include "co_dbs.h" #include "co_dbs.h"
#include "co_errno.h" #include "co_errno.h"
#include "co_depend.h"
#include "wb_dbs.h" #include "wb_dbs.h"
#include "wb_vrep.h" #include "wb_vrep.h"
#include "wb_mvrep.h" #include "wb_mvrep.h"
...@@ -66,7 +67,7 @@ static int comp_dbs_name(tree_sTable *tp, tree_sNode *x, tree_sNode *y); ...@@ -66,7 +67,7 @@ static int comp_dbs_name(tree_sTable *tp, tree_sNode *x, tree_sNode *y);
wb_dbs::wb_dbs(wb_vrep *v) : wb_dbs::wb_dbs(wb_vrep *v) :
m_oid(pwr_cNOid), m_rtonly(0), m_warnings(0), m_errors(0), m_oid(pwr_cNOid), m_rtonly(0), m_warnings(0), m_errors(0),
m_nObjects(0), m_nTreeObjects(0), m_nClassObjects(0), m_nObjects(0), m_nTreeObjects(0), m_nClassObjects(0),
m_nNameObjects(0), m_nRbodyObjects(0), m_nDbodyObjects(0), m_oep(0) m_nNameObjects(0), m_nRbodyObjects(0), m_nDbodyObjects(0), m_oep(0), m_depend(0)
{ {
pwr_tStatus sts; pwr_tStatus sts;
...@@ -606,6 +607,9 @@ wb_dbs::prepareSectVolref() ...@@ -606,6 +607,9 @@ wb_dbs::prepareSectVolref()
/* was inserted now */ /* was inserted now */
dbs_Open(&sts, &vep->env, mvrep->fileName()); dbs_Open(&sts, &vep->env, mvrep->fileName());
if ( m_depend)
m_depend->add( mvrep->fileName());
strcpy(vep->v.name, mvrep->name()); strcpy(vep->v.name, mvrep->name());
vep->v.cid = mvrep->cid(); vep->v.cid = mvrep->cid();
if ( m_volume.cid == pwr_eClass_DetachedClassVolume) { if ( m_volume.cid == pwr_eClass_DetachedClassVolume) {
...@@ -633,6 +637,9 @@ wb_dbs::prepareSectVolref() ...@@ -633,6 +637,9 @@ wb_dbs::prepareSectVolref()
dbs_Open(&sts, &nvep->env, nmvrep->fileName()); dbs_Open(&sts, &nvep->env, nmvrep->fileName());
if ( m_depend)
m_depend->add( nmvrep->fileName());
strcpy(nvep->v.name, vp->name); strcpy(nvep->v.name, vp->name);
nvep->v.cid = vp->cid; nvep->v.cid = vp->cid;
if ( m_volume.cid == pwr_eClass_DetachedClassVolume) { if ( m_volume.cid == pwr_eClass_DetachedClassVolume) {
...@@ -644,6 +651,7 @@ wb_dbs::prepareSectVolref() ...@@ -644,6 +651,7 @@ wb_dbs::prepareSectVolref()
// nvep->v.dvVersion = vp->dvVersion; // nvep->v.dvVersion = vp->dvVersion;
nvep->v.size = vp->size; nvep->v.size = vp->size;
nvep->v.offset = 0; nvep->v.offset = 0;
} }
} }
} }
......
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
class wb_vrep; class wb_vrep;
class CoDepend;
class wb_dbs : public wb_status, public wb_import class wb_dbs : public wb_status, public wb_import
{ {
...@@ -136,6 +137,8 @@ public: ...@@ -136,6 +137,8 @@ public:
tree_sTable *m_name_th; tree_sTable *m_name_th;
tree_sTable *m_class_th; tree_sTable *m_class_th;
tree_sTable *m_vol_th; tree_sTable *m_vol_th;
CoDepend *m_depend;
wb_dbs(); wb_dbs();
wb_dbs(wb_vrep *); wb_dbs(wb_vrep *);
...@@ -149,6 +152,7 @@ public: ...@@ -149,6 +152,7 @@ public:
bool operator==(const wb_dbs&) const; bool operator==(const wb_dbs&) const;
void setFileName(const char *name); void setFileName(const char *name);
void getFileName(char *name) { strcpy( name, m_fileName);}
void setTime(const pwr_tTime t); void setTime(const pwr_tTime t);
void setRtonly( const int rtonly) { m_rtonly = rtonly;} void setRtonly( const int rtonly) { m_rtonly = rtonly;}
...@@ -181,6 +185,7 @@ public: ...@@ -181,6 +185,7 @@ public:
pwr_tStatus writeSectDbody(); pwr_tStatus writeSectDbody();
pwr_tStatus writeReferencedVolumes(); pwr_tStatus writeReferencedVolumes();
pwr_tUInt32 getDvVersion( wb_vrep *v); pwr_tUInt32 getDvVersion( wb_vrep *v);
void setDepend( CoDepend *depend) { m_depend = depend;}
virtual bool importVolume(wb_export &e); virtual bool importVolume(wb_export &e);
......
...@@ -66,7 +66,7 @@ public: ...@@ -66,7 +66,7 @@ public:
dbs_sVenv *dbsenv(); dbs_sVenv *dbsenv();
bool load(); bool load();
void objectName(const wb_orep *o, char *str); void objectName(const wb_orep *o, char *str);
void fileName( char *fname) { strcpy( m_fileName, fname);}
virtual void unref(); virtual void unref();
virtual wb_vrep *ref(); virtual wb_vrep *ref();
......
...@@ -155,6 +155,14 @@ wb_vrepwbl::createSnapshot(const char *fileName, const pwr_tTime *time, const in ...@@ -155,6 +155,14 @@ wb_vrepwbl::createSnapshot(const char *fileName, const pwr_tTime *time, const in
dbs.setTime( *time); dbs.setTime( *time);
dbs.setRtonly( rtonly); dbs.setRtonly( rtonly);
if ( depend) {
pwr_tFileName fname;
// dbs.setDepend( depend);
dbs.setDepend( depend);
dbs.getFileName( fname);
depend->set_dependfile( fname);
}
dbs.importVolume(*this); dbs.importVolume(*this);
return true; return true;
...@@ -1418,6 +1426,8 @@ int wb_vrepwbl::load_files( const char *file_spec) ...@@ -1418,6 +1426,8 @@ int wb_vrepwbl::load_files( const char *file_spec)
return LDH__WBLPARSE; return LDH__WBLPARSE;
} }
file_cnt++; file_cnt++;
if ( depend)
depend->add( found_file);
sts = dcli_search_file( (char *)file_spec, found_file, DCLI_DIR_SEARCH_NEXT); sts = dcli_search_file( (char *)file_spec, found_file, DCLI_DIR_SEARCH_NEXT);
} }
dcli_search_file( (char *)file_spec, found_file, DCLI_DIR_SEARCH_END); dcli_search_file( (char *)file_spec, found_file, DCLI_DIR_SEARCH_END);
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include <string> #include <string>
#include "co_depend.h"
#include "wb_vrep.h" #include "wb_vrep.h"
#include "antlr/AST.hpp" #include "antlr/AST.hpp"
#include "wb_wbllexer.hpp" #include "wb_wbllexer.hpp"
...@@ -72,7 +73,7 @@ class wb_vrepwbl : public wb_vrep ...@@ -72,7 +73,7 @@ class wb_vrepwbl : public wb_vrep
public: public:
wb_vrepwbl( wb_erep *erep) : wb_vrepwbl( wb_erep *erep) :
m_erep(erep), m_merep(erep->merep()), m_nRef(0), m_ignore_oix(false), root_object(0), error_cnt(0), file_cnt(0), next_oix(0), volume_node(0) {} m_erep(erep), m_merep(erep->merep()), m_nRef(0), m_ignore_oix(false), root_object(0), error_cnt(0), file_cnt(0), next_oix(0), volume_node(0), depend(0) {}
wb_vrepwbl( wb_erep *erep, pwr_tVid vid) : wb_vrepwbl( wb_erep *erep, pwr_tVid vid) :
wb_vrep(vid), m_erep(erep), m_merep(erep->merep()), m_nRef(0), root_object(0),error_cnt(0), file_cnt(0), next_oix(0), volume_node(0) {} wb_vrep(vid), m_erep(erep), m_merep(erep->merep()), m_nRef(0), root_object(0),error_cnt(0), file_cnt(0), next_oix(0), volume_node(0) {}
...@@ -130,6 +131,7 @@ public: ...@@ -130,6 +131,7 @@ public:
char volume_class[32]; char volume_class[32];
char volume_name[32]; char volume_name[32];
wb_wblnode *volume_node; wb_wblnode *volume_node;
CoDepend *depend;
virtual void unref(); virtual void unref();
...@@ -224,6 +226,8 @@ public: ...@@ -224,6 +226,8 @@ public:
void objectName(const wb_orep *o, char *str); void objectName(const wb_orep *o, char *str);
void setDepend( CoDepend *d) { depend = d;}
virtual bool exportVolume(wb_import &i); virtual bool exportVolume(wb_import &i);
virtual bool exportHead(wb_import &i); virtual bool exportHead(wb_import &i);
virtual bool exportRbody(wb_import &i); virtual bool exportRbody(wb_import &i);
......
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
#include "co_ccm.h" #include "co_ccm.h"
#include "co_time.h" #include "co_time.h"
#include "co_dcli.h" #include "co_dcli.h"
#include "co_depend.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "co_ccm_msg.h" #include "co_ccm_msg.h"
#include "co_regex.h" #include "co_regex.h"
...@@ -308,7 +309,7 @@ dcli_tCmdTable wnav_command_table[] = { ...@@ -308,7 +309,7 @@ dcli_tCmdTable wnav_command_table[] = {
"/NAME", "/IDENTITY", "/FILES", "/OUT", "/IGNORE", "/NAME", "/IDENTITY", "/FILES", "/OUT", "/IGNORE",
"/DIRECTORY", "/DATABASE", "/SERVER", "/DIRECTORY", "/DATABASE", "/SERVER",
"/PLCPGM", "/HIERARCHY", "/FROM_PLCPGM", "/TEMPLATE", "/PLCPGM", "/HIERARCHY", "/FROM_PLCPGM", "/TEMPLATE",
"/SIMULATION", "/RTONLY", ""} "/SIMULATION", "/RTONLY", "/DEPENDENCY", ""}
}, },
{ {
"NEW", "NEW",
...@@ -4249,6 +4250,8 @@ static int wnav_create_func( void *client_data, ...@@ -4249,6 +4250,8 @@ static int wnav_create_func( void *client_data,
{ {
pwr_tFileName filestr; pwr_tFileName filestr;
pwr_tFileName outstr; pwr_tFileName outstr;
pwr_tFileName dependencystr;
int dependency;
char *outstr_p; char *outstr_p;
int ignore; int ignore;
int rtonly; int rtonly;
...@@ -4269,9 +4272,16 @@ static int wnav_create_func( void *client_data, ...@@ -4269,9 +4272,16 @@ static int wnav_create_func( void *client_data,
else else
outstr_p = 0; outstr_p = 0;
dependency = ODD( dcli_get_qualifier( "/DEPENDENCY", dependencystr, sizeof(dependencystr)));
ignore = ODD( dcli_get_qualifier( "/IGNORE", 0, 0)); ignore = ODD( dcli_get_qualifier( "/IGNORE", 0, 0));
rtonly = ODD( dcli_get_qualifier( "/RTONLY", 0, 0)); rtonly = ODD( dcli_get_qualifier( "/RTONLY", 0, 0));
if ( (s = getenv( "PWRE_CONF_LOCKDBS"))) {
if ( strcmp( s, "1") == 0) {
wnav->message('I', "Snapshots locked");
return WNAV__SUCCESS;
}
}
if ( (s = getenv( "PWRE_CONF_BUILDVERSION"))) { if ( (s = getenv( "PWRE_CONF_BUILDVERSION"))) {
if ( strcmp( s, "") == 0 || if ( strcmp( s, "") == 0 ||
strcmp( s, "0") == 0) strcmp( s, "0") == 0)
...@@ -4292,12 +4302,22 @@ static int wnav_create_func( void *client_data, ...@@ -4292,12 +4302,22 @@ static int wnav_create_func( void *client_data,
sts = WNAV__SUCCESS; sts = WNAV__SUCCESS;
try { try {
CoDepend *depend = 0;
wb_erep *erep = *(wb_env *)wnav->wbctx; wb_erep *erep = *(wb_env *)wnav->wbctx;
wb_vrepwbl *wbl = new wb_vrepwbl(erep); wb_vrepwbl *wbl = new wb_vrepwbl(erep);
wbl->ref(); wbl->ref();
if ( dependency) {
depend = new CoDepend();
depend->set_filename( dependencystr);
wbl->setDepend( depend);
}
sts = wbl->load( filestr); sts = wbl->load( filestr);
if ( ODD(sts) || ignore) if ( ODD(sts) || ignore)
wbl->createSnapshot( outstr_p, timep, rtonly); wbl->createSnapshot( outstr_p, timep, rtonly);
if ( depend) {
depend->print();
delete depend;
}
delete wbl; delete wbl;
} }
catch ( wb_error &e) { catch ( wb_error &e) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment