aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/build.sh
blob: 4f80cb4406586ab491ab95e6fc372ab9d8ef23df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#! /bin/bash


export LOCALDIR=`pwd`

cd src
rm -f ../LuaSL ../LuaSL_parser ../*.o *.output *.backup ../*.edj LuaSL_lexer.h LuaSL_lexer.c LuaSL_lemon_yaccer.h LuaSL_lemon_yaccer.c LuaSL_lemon_yaccer.out


# This assumes you have EFL installed in one of two standard places.
if [ -d "/opt/e17" ]
then
    export E17DIR="/opt/e17"
else
    export E17DIR="/usr"
fi

# No need for a make file, or dependencies, the entire thing takes only a few seconds to build.

CFLAGS="-g -Wall -I include -I $LOCALDIR/src"
CFLAGS="$CFLAGS -I $E17DIR/include/eina-1"
CFLAGS="$CFLAGS -I $E17DIR/include/eina-1/eina"
CFLAGS="$CFLAGS -I $E17DIR/include/eet-1"
CFLAGS="$CFLAGS -I $E17DIR/include/edje-1"
CFLAGS="$CFLAGS -I $E17DIR/include/evas-1"
CFLAGS="$CFLAGS -I $E17DIR/include/ecore-1"
CFLAGS="$CFLAGS -I $E17DIR/include"
CFLAGS="$CFLAGS -DPACKAGE_DATA_DIR=\"$LOCALDIR\" $CFLAGOPTS"

LDFLAGS="-L lib -L /usr/lib -L /lib -L $E17DIR/lib"
libs="-lecore -levas -ledje -leet -leina"
# These need to be added to libs if linking staticaly, though some part of EFL don't like that.
#-lecore_evas \
#-lecore_fb \
#-lecore_file \
#-lecore \
#-ledje \
#-levas \
#-lembryo \
#-leet \
#-leina \
#-llua \
#-lm \
#-ldl \
#-lglib-2.0 \
#-lpthread \
#-lfontconfig \
#-lfreetype \
#-lexpat \
#-lrt \
#-lz

LFLAGS="-d"
EDJE_FLAGS="-id images -fd fonts"


# Run lemon first, flex depends on it to define the symbol values.
command="../../libraries/lemon/lemon -s -T../../libraries/lemon/lempar.c LuaSL_lemon_yaccer.y"
echo $command
$command

command="flex -C --outfile=LuaSL_lexer.c --header-file=LuaSL_lexer.h LuaSL_lexer.l"
echo $command
$command

command="edje_cc $EDJE_FLAGS LuaSL.edc ../LuaSL.edj"
echo $command
$command

names="LuaSL_main LuaSL_compile LuaSL_utilities LuaSL_lexer LuaSL_lemon_yaccer"
objects=""
for i in $names
do
    command="gcc $CFLAGS -c -o ../$i.o $i.c"
    echo $command
    $command
    objects="$objects ../$i.o"
done
command="gcc $CFLAGS -o ../LuaSL $objects $LDFLAGS $libs"
echo $command
$command