4 [ -e "$2" ] && rm -f "$2"
12 echo "$1 ${obj}.o ..."
13 $1 -O2 -Wall -std=gnu99
-Wno-unused-function -Wno-format-truncation -Wno-address-of-packed-member -DSTATIC=static
-DINIT= -D_FILE_OFFSET_BITS=64 \
15 -I.
/Ventoy
2Disk
/Core \
18 -I.
/Ventoy
2Disk
/Include \
19 -I.
/Ventoy
2Disk
/Lib
/libhttp
/include \
20 -I.
/Ventoy
2Disk
/Lib
/fat_io_lib
/include \
21 -I.
/Ventoy
2Disk
/Lib
/xz
-embedded/linux
/include \
22 -I.
/Ventoy
2Disk
/Lib
/xz
-embedded/linux
/include
/linux \
23 -I.
/Ventoy
2Disk
/Lib
/xz
-embedded/userspace \
24 -I .
/Ventoy
2Disk
/Lib
/exfat
/src
/libexfat \
25 -I .
/Ventoy
2Disk
/Lib
/exfat
/src
/mkfs \
26 -I .
/Ventoy
2Disk
/Lib
/fat_io_lib \
32 for i
in $(ls $dir/*.c); do
33 compile_file
"$2" "$i"
38 compile_dir .
/Ventoy
2Disk
/Core
"$1"
39 compile_dir .
/Ventoy
2Disk
/Web
"$1"
40 compile_dir .
/Ventoy
2Disk
/QT
"$1"
41 compile_dir .
/Ventoy
2Disk
/Lib
/exfat
/src
/libexfat
"$1"
42 compile_dir .
/Ventoy
2Disk
/Lib
/exfat
/src
/mkfs
"$1"
43 compile_dir .
/Ventoy
2Disk
/Lib
/fat_io_lib
"$1"
44 compile_file
"$1" Ventoy
2Disk
/Lib
/xz
-embedded/linux
/lib
/decompress_unxz.c
46 rm -f libVentoyQT_
$3.a
47 $2 -rcs libVentoyQT_
$3.a
*.o
53 $1 -c $2 $3 -o main.o .
/Ventoy
2Disk
/QT
/main.cpp
55 echo "$1 partcfgdialog.o ..."
56 $1 -c $2 $3 -o partcfgdialog.o .
/Ventoy
2Disk
/QT
/partcfgdialog.cpp
58 echo "$1 ventoy2diskwindow.o ..."
59 $1 -c $2 $3 -o ventoy2diskwindow.o .
/Ventoy
2Disk
/QT
/ventoy2diskwindow.cpp
61 echo "$1 moc_partcfgdialog.o ..."
62 $1 -c $2 $3 -o moc_partcfgdialog.o .
/Ventoy
2Disk
/QT
/build
/moc_partcfgdialog.cpp
64 echo "$1 moc_ventoy2diskwindow.o ..."
65 $1 -c $2 $3 -o moc_ventoy2diskwindow.o .
/Ventoy
2Disk
/QT
/build
/moc_ventoy2diskwindow.cpp
67 echo "$1 Ventoy2Disk.qt5_${6} ..."
68 $1 $4 -o Ventoy2Disk.qt5_
${6} *.o
$5
74 DEFINES
="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
75 CXXFLAGS
="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations -Wno-deprecated-copy"
76 INCPATH
=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I. -I."
78 SUBLIBS
="./libVentoyQT_${2}.a"
79 LIBS
="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
81 build_qt
"$1" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "$3"
86 QT_INC_PATH
="./EXLIB/i386/usr/include/i386-linux-gnu/qt5"
87 QT_LIB_PATH
="./EXLIB/i386/usr/lib/i386-linux-gnu"
88 DEFINES
="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
89 CXXFLAGS
="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations"
90 INCPATH
=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I."
91 LFLAGS
="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/i386/lib/i386-linux-gnu -L./EXLIB/i386/lib/i386-linux-gnu"
92 SUBLIBS
="./libVentoyQT_i386.a"
93 LIBS
="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
95 compile_lib
"gcc -m32" "ar" "i386"
96 build_qt
"g++ -m32" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "32"
100 #build QT5 for x86_64
102 compile_lib
"gcc" "ar" "x86_64"
103 QT_INC_PATH
="/opt/Qt5.9.0/5.9/gcc_64/include"
104 QT_LIB_PATH
="/opt/Qt5.9.0/5.9/gcc_64/lib"
105 LFLAGS
="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH"
106 build_qt_app
"g++" "x86_64" "64"
108 force_copy Ventoy2Disk.qt5_64 ..
/INSTALL
/tool
/x
86_
64/Ventoy2Disk.qt5
109 rm -f .
/libVentoyQT_x86_64.a
113 # build QT5 for arm64
115 compile_lib
"aarch64-linux-gnu-gcc" "aarch64-linux-gnu-ar" "aarch64"
116 QT_INC_PATH
="./EXLIB/aarch64/usr/include/qt5"
117 QT_LIB_PATH
="./EXLIB/aarch64/usr/lib64"
118 LFLAGS
="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/aarch64/lib64 -L./EXLIB/aarch64/lib64"
119 build_qt_app
"aarch64-linux-gnu-g++" "aarch64" "aa64"
121 force_copy Ventoy2Disk.qt5_aa64 ..
/INSTALL
/tool
/aarch
64/Ventoy2Disk.qt5
122 rm -f .
/libVentoyQT_aarch64.a
125 # build QT5 for mips64
126 build_qt_mips64el
() {
127 QT_INC_PATH
="./EXLIB/mips64el/usr/include/mips64el-linux-gnuabi64/qt5"
128 QT_LIB_PATH
="./EXLIB/mips64el/usr/lib/mips64el-linux-gnuabi64"
129 DEFINES
="-DQT_CHECK_EUID -DQT_DEPRECATED_WARNINGS -DSTATIC=static -DINIT= -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB"
130 CXXFLAGS
="-pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC $DEFINES -Wno-deprecated-declarations"
131 INCPATH
=" -I./Ventoy2Disk -I. -I./Ventoy2Disk/Core -I./Ventoy2Disk/Web -I./Ventoy2Disk/QT -I./Ventoy2Disk/QT/build -I./Ventoy2Disk/Include -I./Ventoy2Disk/Lib/libhttp/include -I./Ventoy2Disk/Lib/fat_io_lib/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include -I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux -I./Ventoy2Disk/Lib/xz-embedded/userspace -I./Ventoy2Disk/Lib/exfat/src/libexfat -I./Ventoy2Disk/Lib/fat_io_lib -I$QT_INC_PATH -I$QT_INC_PATH/QtWidgets -I$QT_INC_PATH/QtGui -I$QT_INC_PATH/QtCore -I."
132 LFLAGS
="-Wl,-O1 -Wl,-rpath-link,$QT_LIB_PATH -L$QT_LIB_PATH -Wl,-rpath-link,./EXLIB/mips64el/lib/mips64el-linux-gnuabi64 -L./EXLIB/mips64el/lib/mips64el-linux-gnuabi64"
133 SUBLIBS
="./libVentoyQT_mips64el.a"
134 LIBS
="$SUBLIBS $QT_LIB_PATH/libQt5Widgets.so $QT_LIB_PATH/libQt5Gui.so $QT_LIB_PATH/libQt5Core.so -lpthread"
136 export PATH
=/opt
/mips
-loongson-gcc8-linux-gnu-2021-02-08/bin
/:$PATH
137 compile_lib
"mips-linux-gnu-gcc -mips64r2 -mabi=64" "mips-linux-gnu-ar" "mips64el"
138 build_qt
"mips-linux-gnu-g++ -mips64r2 -mabi=64" "$CXXFLAGS" "$INCPATH" "$LFLAGS" "$LIBS" "m64e"
140 force_copy Ventoy2Disk.qt5_m64e ..
/INSTALL
/tool
/mips
64el
/Ventoy2Disk.qt5
141 rm -f .
/libVentoyQT_mips64el.a
145 ####################################################################
146 ####################################################################
147 ####################################################################
148 ####################################################################
150 sed "s#../Ventoy2Disk#..#g" -i .
/Ventoy
2Disk
/QT
/build
/moc_partcfgdialog.cpp
151 sed "s#../Ventoy2Disk#..#g" -i .
/Ventoy
2Disk
/QT
/build
/moc_ventoy2diskwindow.cpp
153 #build qt5 i386 in centos 8 environment
154 if [ "$1" = "VENTOY_I386_QT_BUILD" ]; then
155 echo "build i386 qt ..."
160 if [ ! -f /opt
/CentOS
8/LinuxGUI
/build.sh
]; then
161 mount
--bind /home
/share
/Ventoy
/LinuxGUI
/opt
/CentOS
8/LinuxGUI
164 chroot
/opt
/CentOS8 sh
/buildqt.sh
165 force_copy .
/Ventoy2Disk.qt5_32 ..
/INSTALL
/tool
/i
386/Ventoy2Disk.qt5
166 rm -f .
/libVentoyQT_i386.a