@@ -33,6 +33,7 function getFilesList { | |||||
33 | sed ':a;N;$!ba;s/\\\n/ /g' $1 | sed ':a;N;$!ba;s/\\ \n/ /g' | grep -i $2 | sed 's/\t//g' |
|
33 | sed ':a;N;$!ba;s/\\\n/ /g' $1 | sed ':a;N;$!ba;s/\\ \n/ /g' | grep -i $2 | sed 's/\t//g' | |
34 | } |
|
34 | } | |
35 |
|
35 | |||
|
36 | ||||
36 | function Template { |
|
37 | function Template { | |
37 | TEMPLATE=`more $1 | grep -i "TEMPLATE " | sed s/TEMPLATE// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'` |
|
38 | TEMPLATE=`more $1 | grep -i "TEMPLATE " | sed s/TEMPLATE// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'` | |
38 | } |
|
39 | } | |
@@ -68,48 +69,83 function TargetInstallPath { | |||||
68 | TARGETINSTALLPATH=`more $1 | grep -i "TARGETINSTALLPATH" | sed s/TARGETINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'` |
|
69 | TARGETINSTALLPATH=`more $1 | grep -i "TARGETINSTALLPATH" | sed s/TARGETINSTALLPATH// | sed s/=// | sed 's/^[ \t]*//;s/[ \t]*$//'` | |
69 | } |
|
70 | } | |
70 |
|
71 | |||
71 |
|
72 | if [ -z "$1" ] ; then | ||
|
73 | echo "try to find a project file ..." | |||
|
74 | TMP=`ls *.pro` | |||
|
75 | i=1 | |||
|
76 | for Files in $TMP | |||
|
77 | do | |||
|
78 | echo "found $Files" | |||
|
79 | PROJECTFILES[i]=$Files | |||
|
80 | i=$((i + 1)) | |||
|
81 | done | |||
|
82 | if [ -z "${PROJECTFILES[1]}" ]; then | |||
|
83 | exit | |||
|
84 | else | |||
|
85 | PROJECTFILE=${PROJECTFILES[1]} | |||
|
86 | fi | |||
|
87 | ||||
|
88 | else | |||
|
89 | PROJECTFILE=$1 | |||
|
90 | fi | |||
72 |
|
91 | |||
73 | Template $1 |
|
92 | CURRENTDIR=`pwd` | |
74 | Target $1 |
|
93 | Template $PROJECTFILE | |
75 | Arch $1 |
|
94 | echo '' > Makefile | |
76 | Libs_Inc $1 |
|
|||
77 | Libs_Link $1 |
|
|||
78 | HeadersInstallPath $1 |
|
|||
79 | TargetInstallPath $1 |
|
|||
80 | echo $SRCFILES > Makefile |
|
|||
81 | getFilesList $1 HEADERS >> Makefile |
|
|||
82 | getFilesList $1 SOURCES >> Makefile |
|
|||
83 | echo 'PROJECTDIR = `pwd`'>> Makefile |
|
95 | echo 'PROJECTDIR = `pwd`'>> Makefile | |
84 | echo 'OBJECTFILES = $(SOURCES:.c=.o)'>> Makefile |
|
|||
85 | echo "LIBUC = $libuc2" >> Makefile |
|
96 | echo "LIBUC = $libuc2" >> Makefile | |
86 | echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile |
|
|||
87 | echo "TARGET=$TARGET">> Makefile |
|
|||
88 | echo "LIBUC_INCLUDES=$INCLUDES">> Makefile |
|
|||
89 | echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile |
|
|||
90 | echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile |
|
|||
91 | echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile |
|
|||
92 | echo 'include $(ARCH)/rules.mk' >> Makefile |
|
|||
93 |
|
||||
94 |
|
||||
95 |
|
97 | |||
96 |
if(echo $TEMPLATE|grep -i |
|
98 | if(echo $TEMPLATE|grep -i 'dir'); then | |
97 | echo '' >> Makefile |
|
99 | ||
98 | echo 'all:bin' >> Makefile |
|
100 | echo 'include $(LIBUC)/rules/common/rules.mk' >> Makefile | |
|
101 | SUBDIRS=`getFilesList $PROJECTFILE SUBDIRS | sed 's/SUBDIRS//' | sed 's/=//' | sed 's/+//' ` | |||
|
102 | CURRENTDIR=`pwd` | |||
|
103 | echo $CURRENTDIR | |||
|
104 | echo "" >> Makefile | |||
|
105 | echo 'all:subdir' >> Makefile | |||
|
106 | for DIRS in $SUBDIRS | |||
|
107 | do | |||
|
108 | cd $DIRS | |||
|
109 | $0 | |||
|
110 | cd $CURRENTDIR | |||
|
111 | if [ -e "$DIRS/Makefile" ]; then | |||
|
112 | echo " make -C $DIRS">> Makefile | |||
|
113 | fi | |||
|
114 | done | |||
99 | echo " @echo Code compiled" >> Makefile |
|
115 | echo " @echo Code compiled" >> Makefile | |
100 | else |
|
116 | echo "" >> Makefile | |
101 | if(echo $TEMPLATE|grep -i lib); then |
|
117 | else | |
|
118 | Target $PROJECTFILE | |||
|
119 | Arch $PROJECTFILE | |||
|
120 | Libs_Inc $PROJECTFILE | |||
|
121 | Libs_Link $PROJECTFILE | |||
|
122 | HeadersInstallPath $PROJECTFILE | |||
|
123 | TargetInstallPath $PROJECTFILE | |||
|
124 | echo $SRCFILES >> Makefile | |||
|
125 | getFilesList $PROJECTFILE HEADERS >> Makefile | |||
|
126 | getFilesList $PROJECTFILE SOURCES >> Makefile | |||
|
127 | echo 'OBJECTFILES = $(SOURCES:.c=.o)'>> Makefile | |||
|
128 | echo "ARCH = "'$(LIBUC)'"/rules/$ARCH" >> Makefile | |||
|
129 | echo "TARGET=$TARGET">> Makefile | |||
|
130 | echo "LIBUC_INCLUDES=$INCLUDES">> Makefile | |||
|
131 | echo "LIBUC_LIBRARIES=$LIBRARIES">> Makefile | |||
|
132 | echo "TARGETINSTALLPATH=$TARGETINSTALLPATH">> Makefile | |||
|
133 | echo "HEADERSINSTALLPATH=$HEADERSINSTALLPATH">> Makefile | |||
|
134 | echo 'include $(ARCH)/rules.mk' >> Makefile | |||
|
135 | ||||
|
136 | if(echo $TEMPLATE|grep -i app); then | |||
102 | echo '' >> Makefile |
|
137 | echo '' >> Makefile | |
103 |
echo 'all: |
|
138 | echo 'all:bin' >> Makefile | |
104 | echo " @echo Code compiled" >> Makefile |
|
139 | echo " @echo Code compiled" >> Makefile | |
105 | else |
|
140 | else | |
106 |
if(echo $TEMPLATE|grep -i |
|
141 | if(echo $TEMPLATE|grep -i lib); then | |
107 | echo '' >> Makefile |
|
142 | echo '' >> Makefile | |
108 |
echo 'all: |
|
143 | echo 'all:lib' >> Makefile | |
109 | echo " @echo Code compiled" >> Makefile |
|
144 | echo " @echo Code compiled" >> Makefile | |
110 | fi |
|
145 | fi | |
111 | fi |
|
146 | fi | |
112 | fi |
|
147 | fi | |
|
148 | ||||
113 | echo $TEMPLATE |
|
149 | echo $TEMPLATE | |
114 | echo $TARGET |
|
150 | echo $TARGET | |
115 | echo $ARCH |
|
151 | echo $ARCH |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,10 +1,11 | |||||
|
1 | ||||
|
2 | PROJECTDIR = `pwd` | |||
|
3 | LIBUC = /opt/libuc2 | |||
1 |
|
4 | |||
2 | HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/UART |
|
5 | HEADERSINSTALLPATH = $(LIBUC_INC_DIR)/UART | |
3 | HEADERS += uart.h |
|
6 | HEADERS += uart.h | |
4 | SOURCES += uart.c |
|
7 | SOURCES += uart.c | |
5 | PROJECTDIR = `pwd` |
|
|||
6 | OBJECTFILES = $(SOURCES:.c=.o) |
|
8 | OBJECTFILES = $(SOURCES:.c=.o) | |
7 | LIBUC = /opt/libuc2 |
|
|||
8 | ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc |
|
9 | ARCH = $(LIBUC)/rules/lpc17XX-arm-noabi-gcc | |
9 | TARGET=libuart |
|
10 | TARGET=libuart | |
10 | LIBUC_INCLUDES= |
|
11 | LIBUC_INCLUDES= |
@@ -20,4 +20,10 | |||||
20 | #-- Mail : alexis.jeandet@gmail.com |
|
20 | #-- Mail : alexis.jeandet@gmail.com | |
21 | #-------------------------------------------------------------------------------*/ |
|
21 | #-------------------------------------------------------------------------------*/ | |
22 |
|
22 | |||
|
23 | ||||
|
24 | ||||
|
25 | all: | |||
|
26 | @echo "Generic subdir rules" | |||
|
27 | ||||
23 | subdir: |
|
28 | subdir: | |
|
29 | @echo "Generic subdir rules" |
General Comments 0
You need to be logged in to leave comments.
Login now