generate code on Windows

master
Volker Birk 2023-02-09 13:16:13 +01:00
parent baf3098b3d
commit 767b498db5
4 changed files with 44 additions and 0 deletions

1
.gitignore vendored
View File

@ -137,6 +137,7 @@ test/test_mails/ENGINE-654_bob_mail.eml
codegen/generated/
codegen/*.gen
codegen/*.agen
.copy
# Don't remove these if you want to live a long life. It's necessary because it doesn't get cleaned up between branches.

5
NMakefile.mak Normal file
View File

@ -0,0 +1,5 @@
YML2PROC=py "%YML_HOME%\yml2proc"
!IF EXISTS(local.mak)
!include local.mak
!ENDIF

38
codegen/NMakefile Normal file
View File

@ -0,0 +1,38 @@
# This file is under GNU General Public License 3.0
# see LICENSE.txt
!include ../NMakefile.mak
all: all-fsm all-act
generated:
md generated
all-fsm: generated *.fsm
@$(MAKE) /f NMakefile $(**:.fsm=.gen)
all-act: generated *.act
@$(MAKE) /f NMakefile $(**:.act=.agen)
.SUFFIXES : .fsm .gen .act .agen
.fsm.gen:
$(YML2PROC) -y gen_statemachine.ysl2 $< > nul
$(YML2PROC) -y gen_codec.ysl2 $< > nul
$(YML2PROC) -y gen_messages.ysl2 $< > nul
$(YML2PROC) -y gen_message_func.ysl2 $< -o $@
.act.agen:
echo define actfile = "./$<"; | $(YML2PROC) - gen_actions.ysl2 | \
$(YML2PROC) -X - $(**:.act=.fsm) -o $@
clean:
-rd /s/q generated 2>/nul
-del /f/q *.gen 2>/nul
-del /f/q *.agen 2>/nul
-del /f/q *.xml 2>/nul
-del *.xsl 2>/nul
-del *.dot 2>/nul
-del *.svg 2>/nul
.xml.fsm:
$(YML2PROC) $< -o $@

0
local.mak.example Normal file
View File