-CS=gmcs
+CS=gmcs2
+DEBUG_FLAG = -debug
+CODEPAGE = 65001
+
+RUNCS = ${CS} ${DEBUG_FLAG} -codepage:${CODEPAGE}
M17N_SRC = M17N.cs
CORE_SRC = MSymbol.cs MPlist.cs MCharTable.cs MText.cs MDatabase.cs
INPUT_SRC = MInputMethod.cs
-EXAMPLE = symbol.exe plist.exe chartab.exe text.exe textprop.exe database.exe
-TEST = rearsticky.exe frontsticky.exe \
+XEX_SRC = XmlExpr.cs
+DLL = M17N.dll M17NCore.dll M17NIM.dll XmlExpr.dll
+EXAMPLE = symbol.exe plist.exe chartab.exe text.exe textprop.exe database.exe \
+ xex.exe
+TEST = rearsticky.exe frontsticky.exe bothsticky.exe \
sensitive.exe frontsensitive.exe rearsensitive.exe
-all: ${EXAMPLE} ${TEST}
+all: ${DLL} ${EXAMPLE} ${TEST}
M17N.dll: ${M17N_SRC}
- $(CS) -out:$@ -t:library ${M17N_SRC}
+ $(RUNCS) -out:$@ -t:library ${M17N_SRC}
M17NCore.dll: M17N.dll ${CORE_SRC}
- $(CS) -out:$@ -t:library -r:M17N.dll ${CORE_SRC}
+ $(RUNCS) -out:$@ -t:library -r:M17N.dll ${CORE_SRC}
+
+M17NIM.dll: ${INPUT_SRC} M17N.dll M17NCore.dll XmlExpr.dll
+ $(RUNCS) -out:$@ -t:library -r:M17N.dll -r:M17NCore.dll -r:XmlExpr.dll ${INPUT_SRC}
+
+XmlExpr.dll: ${XEX_SRC}
+ $(RUNCS) -doc:XmlExpr.xml -out:$@ -t:library ${XEX_SRC}
-M17NInput.dll: M17N.dll M17NCore.dll ${INPUT_SRC}
- $(CS) -out:$@ -t:library -r:M17N.dll -r:M17NCore.dll ${INPUT_SRC}
+input.exe: input.cs M17NIM.dll XmlExpr.dll
+ $(RUNCS) -r:M17N.dll -r:M17NCore.dll -r:XmlExpr.dll -r:M17NIM.dll $<
-%.exe: %.cs M17NCore.dll
- $(CS) -codepage:65001 -r:M17N.dll -r:M17NCore $<
+expr.exe: expr.cs
+ $(RUNCS) -r:M17N.dll -r:M17NCore.dll -r:M17NExpr.dll $<
+
+xex.exe: xex.cs XmlExpr.dll
+ $(RUNCS) -r:XmlExpr.dll $<
+
+%.exe: %.cs ${DLL}
+ $(RUNCS) -r:M17N.dll -r:M17NCore.dll $<
clean:
- rm -f *.dll *.exe
+ rm -f $(DLL) *.exe
temp.exe: temp.cs
$(CS) temp.cs
-expr.exe: M17N.dll M17NCore.dll MExpression.cs expr.cs
- $(CS) -out:$@ -t:library -r:M17N.dll -r:M17NCore.dll MExpression.cs expr.cs
+test.exe: test.cs
+ $(CS) test.cs
+
+doc: XmlExpr.xml
+ mdoc-update -delete -i XmlExpr.xml -o docs/en XmlExpr.dll
+ mdoc assemble -o XmlExpr docs/en
+ sudo cp XmlExpr.tree XmlExpr.zip XmlExpr.source `pkg-config monodoc --variable sourcesdir`