gnublin1
[projects.git] / tools / make / c_configure.sh
1 #!/bin/bash
2
3 # util routines for a C/C++ - build
4
5 function check_arch {
6         case $1 in
7         armel) ;;
8         i386) ;;
9         *)      echo "unknown architecture $1"
10                 exit 1
11         esac
12 }
13
14 function install_cpp_make {
15 # $1: dir to install
16         src=$(pwd);
17         pushd $1
18         if [ -f makefile ]; then rm makefile; fi
19         if [ -f make.post ]; then rm make.post; fi
20         ln -s $cwd/Make/cpp.make makefile
21         echo "SOURCE = \\" > make.pre
22         for file in $(ls *.cpp)
23         do
24                 echo "  $file \\" >> make.pre
25         done
26         echo >> make.pre
27         if [ "$ARCH" = "armel" ]
28         then
29                 echo "CXX = arm-linux-gnueabi-g++" >> make.pre
30                 echo "CC = arm-linux-gnueabi-g++" >> make.pre
31                 echo "CXXFLAGS += -D_ARMEL" >> make.pre
32                 echo 'export PATH := /opt/eldk-5.0/armv5te/sysroots/i686-oesdk-linux/usr/bin/armv5te-linux-gnueabi/:/opt/eldk-5.0/armv5te/sysroots/i686-oesdk-linux/bin/armv5te-linux-gnueabi/:$(PATH)' >> make.pre
33         fi
34         echo "CXXFLAGS += -std=c++0x -I$src/util" >> make.pre
35         popd
36 }
37
38 function append_dependency {
39 # parameter:
40 # $1: main directory
41 # $2: dependency directory
42 # $3: dependency artefact
43
44         src=$(pwd)
45         echo "DEPS += $3" >> $1/make.pre
46         echo "$3:" >> $1/make.post
47         echo "  cd $src/$2 && make TARGET=$3" >> $1/make.post
48         echo "" >> $1/make.post
49 }
50
51 function append_library {
52 # parameter:
53 # $1: main directory
54 # $2: dependency directory
55 # $3: dependency artefact
56
57         src=$(pwd)
58         echo "DEPS += $3" >> $1/make.pre
59         echo "LDLIBS += $3" >> $1/make.pre
60         echo "$3:" >> $1/make.post
61         echo "  cd $src/$2 && make TARGET=$3" >> $1/make.post
62         echo "  ln -sf $src/$2/$3 ." >> $1/make.post
63         echo "" >> $1/make.post
64 }
65