--- a
+++ b/Makefile.m2pp
@@ -0,0 +1,57 @@
+# ========================================
+# Makefile for m2pp Praeprocessor with GM2
+# ========================================
+
+# For GM2 the pathes below may need to be adjusted based on 
+# your local installation.
+
+GM2baseDir = /usr/local/gm2/lib/gcc/i686-pc-linux-gnu/8.2.0
+
+GM2libDir  = /usr/local/gm2/libs
+
+M2baseDir  = /home/mriedl/Modula-2
+
+# beneath M2baseDir I have subdirs
+#
+#  "InOut/quellen.git" to hold the "InOut" files
+#  "StringHandler"     to hold the "string handling" files (Keywords, TokenLib)
+#
+
+OPTIONS= -fiso \
+         -I $(GM2baseDir)/m2/iso \
+         -I $(GM2baseDir)/m2/pim \
+         -I $(GM2baseDir)/m2/cor \
+         -I $(M2baseDir)/InOut/quellen.git \
+         -I $(M2baseDir)/StringHandler \
+         -L $(GM2libDir) \
+         -O1 -g
+
+LIBS = $(M2baseDir)/InOut/quellen.git/libInOut.gm2.a \
+       $(M2baseDir)/StringHandler/libStringHandler.gm2.a \
+	-liso -lm
+
+
+M2C= gm2 -c $(OPTIONS)
+M2L= gm2 -fonlylink -I. $(OPTIONS)  $(LIBS)
+
+all:m2pp
+
+#----------------------------------------------------------------------------
+
+m2pp: m2pp.o 
+	$(M2L) m2pp.mod $(LIBS) -o m2pp
+
+m2pp.o: m2pp.mod
+	$(M2C) m2pp.mod
+
+m2pp.mod: 
+
+clean: force
+	$(RM)  m2pp.o \
+	m2pp_m2.cpp m2pp_m2.s
+
+force:
+
+#----------------------------------------------------------------------------
+
+