sbsv2/raptor/util/gccprogram.mk
changeset 2 39c28ec933dd
child 13 c327db0664bb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/gccprogram.mk	Mon May 10 19:54:49 2010 +0100
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+# Utility makefile 
+#
+
+define cpp2obj
+OBJECTFILE:=$(OUTPUTPATH)/$(TARGET)/$(notdir $(SOURCEFILE:.cpp=.o))
+$$(OBJECTFILE): $(SOURCEFILE)
+	g++ $(HOSTMACROS) $(CFLAGS) -c $(SOURCEFILE) -o $$@
+	
+OBJECTS:=$$(OBJECTS) $$(OBJECTFILE)
+
+endef 
+
+define cppprogram
+
+all:: $(BINDIR)/$(TARGET)$(PROGRAMEXT)
+
+$(foreach SOURCEFILE,$(SOURCES),$(cpp2obj))
+
+$(BINDIR)/$(TARGET)$(PROGRAMEXT): $$(OBJECTS)
+	g++ $(LDFLAGS) $$^ -o $$@
+	
+$$(shell mkdir -p $(OUTPUTPATH)/$(TARGET) $(BINDIR))
+
+CLEANFILES:=$$(OBJECTS)
+$(cleanlog)
+
+endef
+
+define c2obj
+OBJECTFILE:=$(OUTPUTPATH)/$(TARGET)/$(notdir $(SOURCEFILE:.c=.o))
+$$(OBJECTFILE): $(SOURCEFILE)
+	gcc $(HOSTMACROS) $(CFLAGS) -c $(SOURCEFILE) -o $$@
+	
+OBJECTS:=$$(OBJECTS) $$(OBJECTFILE)
+
+endef 
+
+
+define cprogram
+
+OBJECTS:=
+
+all:: $(BINDIR)/$(TARGET)$(PROGRAMEXT)
+	
+.PHONY:: $(TARGET)
+$(TARGET):: $(BINDIR)/$(TARGET)$(PROGRAMEXT)
+
+$(foreach SOURCEFILE,$(SOURCES),$(c2obj))
+
+$(BINDIR)/$(TARGET)$(PROGRAMEXT): $$(OBJECTS)
+	gcc $(LDFLAGS) $$^ -o $$@
+	
+$$(shell mkdir -p $(OUTPUTPATH)/$(TARGET))
+
+CLEANFILES:=$$(OBJECTS)
+$(cleanlog)
+
+endef