-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpas2cgi.sh
executable file
·53 lines (45 loc) · 1.25 KB
/
pas2cgi.sh
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
#!/bin/bash
# argument check
if [ "$1" == "" ]; then
#echo "Usage: pas2cgi [source file] <cgi file>"
echo "PAS2CGI: Error: You must supply a source file as an argument."
exit
fi
# source file check
if [ ! -f $1 ]; then
echo "PAS2CGI: Error: \"$1\" source file is not found."
exit
fi
# variable setup
echo "=== Starting CGI deployment..."
SRC_EXT=pas
SRC_NAME=$(basename $1 .$SRC_EXT)
SRC_FOLDER=$(dirname $1)
BIN_NAME=$SRC_NAME
CGI_NAME=$SRC_NAME
CGI_EXT=cgi
CGI_FOLDER=Web
# call your compiler here
echo "=== 1: Compiling source file..."
CMD="fpc -XXs -CX -O3 $1 -FuApplications:lazarus/components/lazutils"
echo "\$ $CMD"; $CMD;
# deploy and clean up
if [ -f $SRC_FOLDER/$SRC_NAME ]; then
# second argument to set different CGI name
if [ "$2" != "" ]; then
CGI_NAME=$(basename $2 .$CGI_EXT)
fi
echo "=== 2: Moving binary file to CGI folder..."
CMD="mv $SRC_FOLDER/$BIN_NAME $CGI_FOLDER/$CGI_NAME.$CGI_EXT"
echo "\$ $CMD"; $CMD;
echo "=== 3: Deleting garbage files..."
CMD="rm $SRC_FOLDER/$SRC_NAME.o"
echo "\$ $CMD"; $CMD;
CMD="rm $SRC_FOLDER/libp$SRC_NAME.a"
echo "\$ $CMD"; $CMD;
CMD="rm Applications/*.o Applications/*.a Applications/*.ppu"
echo "\$ $CMD"; $CMD;
echo "=== Done."
else
echo "=== Compilation failed!"
fi