--- misc/ucpp/makefile.mk	2011-09-21 14:52:57.436957300 +0200
+++ misc/build/ucpp/makefile.mk	2011-09-21 14:37:13.843986900 +0200
@@ -1 +1,50 @@
-dummy
+#**************************************************************
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#  
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#  
+#**************************************************************
+PRJ=..$/..$/..$/..
+
+PRJNAME=ucpp
+TARGET=ucpp
+TARGETTYPE=CUI
+LIBTARGET=NO
+NO_DEFAULT_STL=TRUE
+
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+
+# --- Settings -----------------------------------------------------
+.INCLUDE :  settings.mk
+
+UWINAPILIB=$(0)
+LIBSALCPPRT=$(0)
+
+# --- Files --------------------------------------------------------
+
+CFLAGS+= -DNO_UCPP_BUF -DUCPP_CONFIG -DSTAND_ALONE
+
+APP1TARGET= $(TARGET)
+APP1OBJS=   $(OBJ)$/assert.obj $(OBJ)$/cpp.obj $(OBJ)$/eval.obj $(OBJ)$/hash.obj $(OBJ)$/lexer.obj $(OBJ)$/macro.obj $(OBJ)$/mem.obj $(OBJ)$/nhash.obj
+APP1RPATH=  SDK
+
+APP1STDLIBS=
+
+
+OBJFILES = $(APP1OBJS)
+
+.INCLUDE :  target.mk
