##// END OF EJS Templates
Cleaned source tree....
Cleaned source tree. Improved make distclean rules STDGPIO working on stm32f4 STDUART working on stm32f3

File last commit:

r16:194f637a2640 default
r16:194f637a2640 default
Show More
libucmake-app
173 lines | 6.7 KiB | text/plain | TextLexer
Libuc make templates extracted from main script, to make it more modular
r7 #!/bin/bash
#/*------------------------------------------------------------------------------
#-- This file is a part of the libuc, microcontroler library
#-- Copyright (C) 2011, Alexis Jeandet
#--
#-- This program is free software; you can redistribute it and/or modify
#-- it under the terms of the GNU General Public License as published by
#-- the Free Software Foundation; either version 3 of the License, or
#-- (at your option) any later version.
#--
#-- This program is distributed in the hope that it will be useful,
#-- but WITHOUT ANY WARRANTY; without even the implied warranty of
#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#-- GNU General Public License for more details.
#--
#-- You should have received a copy of the GNU General Public License
#-- along with this program; if not, write to the Free Software
#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#-------------------------------------------------------------------------------
#-- Author : Alexis Jeandet
#-- Mail : alexis.jeandet@gmail.com
#-------------------------------------------------------------------------------*/
just backup
r12 OBJDIR="obj"
BINDIR="bin"
INC_LIBS_DEPS=""
BIN_LIBS_DEPS=""
Libuc make templates extracted from main script, to make it more modular
r7
function template-run {
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 Targets $PROJECTFILE
if [ -z "$TARGETS" ] ; then
echo "Single Target"
Target $PROJECTFILE
Arch $PROJECTFILE
just backup
r12 Objdir $PROJECTFILE
Bindir $PROJECTFILE
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 Libs_Inc $PROJECTFILE
Libs_Link $PROJECTFILE
HeadersInstallPath $PROJECTFILE
TargetInstallPath $PROJECTFILE
getBSP $PROJECTFILE
jeandet@pc-de-jeandet3.lab-lpp.local
improved PDF generation
r15 ExtractCFLAGS $PROJECTFILE
ExtractLDFLAGS $PROJECTFILE
ExtractODFLAGS $PROJECTFILE
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo "Current BSP is $BSP"
echo $SRCFILES >> Makefile
getFilesList $PROJECTFILE HEADERS >> Makefile
getFilesList $PROJECTFILE SOURCES | sed 's/SOURCES/APPSOURCES/' >> Makefile
Libuc make templates extracted from main script, to make it more modular
r7
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo "========================================================================="
echo " M A K E F I L E G E N E R A T I O N "
echo "-------------------------------------------------------------------------"
echo " Template = application "
echo " Architecture = $ARCH "
echo " Current Board Support package is $BSP "
echo " Output file = $TARGET "
echo "========================================================================="
echo ""
echo " Start Writing Makefile ..."
just backup
r12 echo "OBJDIR = $OBJDIR" >> Makefile
echo "BINDIR = $BINDIR" >> Makefile
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> Makefile
just backup
r12 echo 'OBJECTFILES := $(addprefix $(OBJDIR)/,$(OBJECTFILES))'>> Makefile
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo "ARCH = $ARCH" >> Makefile
echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> Makefile
echo "TARGET=$TARGET">> Makefile
echo "LIBUC_INCLUDES=$INCLUDES">> Makefile
echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile
echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile
echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile
echo "BSP=$BSP">> Makefile
echo 'include $(ARCHFOLDER)/rules.mk' >> Makefile
jeandet@pc-de-jeandet3.lab-lpp.local
improved PDF generation
r15 echo "$CFLAGS" >> Makefile
echo "$LDFLAGS" >> Makefile
echo "$ODFLAGS" >> Makefile
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo '' >> Makefile
echo 'all:bin' >> Makefile
echo " @echo Code compiled" >> Makefile
echo '' >> Makefile
echo " Makefile writing finished"
echo ""
echo "========================================================================="
echo ""
else
echo "Multi targets"
for ITEMS in $TARGETS
do
echo 'PROJECTDIR = `pwd`'> $ITEMS.mk
echo "LIBUC = $libuc2" >> $ITEMS.mk
Target $PROJECTFILE $ITEMS
Arch $PROJECTFILE $ITEMS
just backup
r12 Objdir $PROJECTFILE $ITEMS
Bindir $PROJECTFILE $ITEMS
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 Libs_Inc $PROJECTFILE $ITEMS
Libs_Link $PROJECTFILE $ITEMS
HeadersInstallPath $PROJECTFILE $ITEMS
TargetInstallPath $PROJECTFILE $ITEMS
getBSP $PROJECTFILE $ITEMS
jeandet@pc-de-jeandet3.lab-lpp.local
improved PDF generation
r15 ExtractCFLAGS $PROJECTFILE $ITEMS
ExtractLDFLAGS $PROJECTFILE $ITEMS
ExtractODFLAGS $PROJECTFILE $ITEMS
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo "Current BSP is $BSP"
echo $SRCFILES >> $ITEMS.mk
jeandet@pc-de-jeandet3.lab-lpp.local
improved PDF generation
r15 TEMP=`getFilesList $PROJECTFILE $ITEMS.HEADERS`
if [ -z "$TEMP" ] ; then
getFilesList $PROJECTFILE '*'.HEADERS | sed 's/*\.'// >> $ITEMS.mk
else
getFilesList $PROJECTFILE $ITEMS.HEADERS | sed s/$ITEMS'\.'// >> $ITEMS.mk
fi
TEMP=`getFilesList $PROJECTFILE $ITEMS.SOURCES`
if [ -z "$TEMP" ] ; then
getFilesList $PROJECTFILE '*'.SOURCES | sed 's/*\.'SOURCES/APPSOURCES/ >> $ITEMS.mk
else
getFilesList $PROJECTFILE $ITEMS.SOURCES | sed s/$ITEMS'\.'SOURCES/APPSOURCES/ >> $ITEMS.mk
fi
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9
echo "========================================================================="
echo " M A K E F I L E G E N E R A T I O N "
echo "-------------------------------------------------------------------------"
echo " Template = application "
echo " Architecture = $ARCH "
echo " Current Board Support package is $BSP "
echo " Output file = $TARGET "
echo "========================================================================="
echo ""
echo " Start Writing Makefile ..."
just backup
r12 echo "OBJDIR = $OBJDIR" >> $ITEMS.mk
echo "BINDIR = $BINDIR" >> $ITEMS.mk
echo 'OBJECTFILES = $(APPSOURCES:.c=.o)'>> $ITEMS.mk
echo 'OBJECTFILES := $(addprefix $(OBJDIR)/,$(OBJECTFILES))'>> $ITEMS.mk
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo "ARCH = $ARCH" >> $ITEMS.mk
echo "ARCHFOLDER = "'$(LIBUC)'"/rules/$ARCH" >> $ITEMS.mk
echo "TARGET=$TARGET">> $ITEMS.mk
echo "LIBUC_INCLUDES=$INCLUDES">> $ITEMS.mk
echo "LIBUC_LIBRARIES=$LIBRARIES">> $ITEMS.mk
echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> $ITEMS.mk
echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> $ITEMS.mk
echo "BSP=$BSP">> $ITEMS.mk
echo 'include $(ARCHFOLDER)/rules.mk' >> $ITEMS.mk
jeandet@pc-de-jeandet3.lab-lpp.local
improved PDF generation
r15 echo "$CFLAGS" >> $ITEMS.mk
echo "$LDFLAGS" >> $ITEMS.mk
echo "$ODFLAGS" >> $ITEMS.mk
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo '' >> $ITEMS.mk
echo 'all:bin' >> $ITEMS.mk
echo " @echo Code compiled" >> $ITEMS.mk
echo '' >> $ITEMS.mk
echo " Makefile writing finished"
echo ""
echo "========================================================================="
echo ""
just backup
r12 done
echo "" >> Makefile
echo "all:" >> Makefile
for ITEMS in $TARGETS
do
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 echo " make -f $ITEMS.mk" >> Makefile
done
just backup
r12 echo "" >> Makefile
echo "clean:" >> Makefile
for ITEMS in $TARGETS
do
echo " make clean -f $ITEMS.mk" >> Makefile
done
jeandet@pc-de-jeandet3.lab-lpp.local
Cleaned source tree....
r16 echo "distclean:" >> Makefile
for ITEMS in $TARGETS
do
echo " make distclean -f $ITEMS.mk" >> Makefile
echo " rm -f $ITEMS.mk" >> Makefile
done
Multi target feature added, It's now possible to generate differents outputs from the same inputs files with differents options...
r9 fi
Libuc make templates extracted from main script, to make it more modular
r7 }