]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - LinuxGUI/build.sh
1. change icon from * to a lock icon
[Ventoy.git] / LinuxGUI / build.sh
1 #!/bin/bash
2
3 build_func() {
4 libsuffix=$2
5 toolDir=$3
6
7 XXFLAG='-std=gnu99 -D_FILE_OFFSET_BITS=64'
8 XXLIB="./Ventoy2Disk/Lib/fat_io_lib/lib/libfat_io_${libsuffix}.a"
9
10 echo "CC=$1 libsuffix=$libsuffix"
11
12 $1 $XXFLAG -c -Wall -Wextra -Wshadow -Wformat-security -Winit-self \
13 -Wmissing-prototypes -O2 -DLINUX \
14 -I./Ventoy2Disk/Lib/libhttp/include \
15 -DNDEBUG -DNO_CGI -DNO_CACHING -DNO_SSL -DSQLITE_DISABLE_LFS -DSSL_ALREADY_INITIALIZED \
16 -DUSE_STACK_SIZE=102400 -DNDEBUG -fPIC \
17 ./Ventoy2Disk/Lib/libhttp/include/civetweb.c \
18 -o ./civetweb.o
19
20 $1 $XXFLAG -O2 -Wall -Wno-unused-function -DSTATIC=static -DINIT= \
21 -I./Ventoy2Disk \
22 -I./Ventoy2Disk/Core \
23 -I./Ventoy2Disk/Web \
24 -I./Ventoy2Disk/Include \
25 -I./Ventoy2Disk/Lib/libhttp/include \
26 -I./Ventoy2Disk/Lib/fat_io_lib/include \
27 -I./Ventoy2Disk/Lib/xz-embedded/linux/include \
28 -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux \
29 -I./Ventoy2Disk/Lib/xz-embedded/userspace \
30 -I ./Ventoy2Disk/Lib/exfat/src/libexfat \
31 -I ./Ventoy2Disk/Lib/exfat/src/mkfs \
32 \
33 -L ./Ventoy2Disk/Lib/fat_io_lib/lib \
34 Ventoy2Disk/*.c \
35 Ventoy2Disk/Core/*.c \
36 Ventoy2Disk/Web/*.c \
37 Ventoy2Disk/Lib/xz-embedded/linux/lib/decompress_unxz.c \
38 Ventoy2Disk/Lib/exfat/src/libexfat/*.c \
39 Ventoy2Disk/Lib/exfat/src/mkfs/*.c \
40 $XXLIB \
41 -l pthread \
42 ./civetweb.o \
43 -o V2D$libsuffix
44
45 rm -f *.o
46
47 if [ "$libsuffix" = "aa64" ]; then
48 aarch64-linux-gnu-strip V2D$libsuffix
49 else
50 strip V2D$libsuffix
51 fi
52
53 rm -f ../INSTALL/tool/$toolDir/V2DServer
54 cp -a V2D$libsuffix ../INSTALL/tool/$toolDir/V2DServer
55 }
56
57 build_func "gcc" '64' 'x86_64'
58 build_func "gcc -m32" '32' 'i386'
59 build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64'
60
61