mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
	
	
		
			272 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			272 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#! /bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# copyright John Maddock 2003
							 | 
						||
| 
								 | 
							
								# Distributed under the Boost Software License, Version 1.0. 
							 | 
						||
| 
								 | 
							
								# (See accompanying file LICENSE_1_0.txt or copy at 
							 | 
						||
| 
								 | 
							
								# http://www.boost.org/LICENSE_1_0.txt.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								libname=""
							 | 
						||
| 
								 | 
							
								src=""
							 | 
						||
| 
								 | 
							
								header=""
							 | 
						||
| 
								 | 
							
								all_dep=""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# current makefile:
							 | 
						||
| 
								 | 
							
								out=""
							 | 
						||
| 
								 | 
							
								# temporary file:
							 | 
						||
| 
								 | 
							
								tout=""
							 | 
						||
| 
								 | 
							
								# install target temp file:
							 | 
						||
| 
								 | 
							
								iout=""
							 | 
						||
| 
								 | 
							
								# debug flag:
							 | 
						||
| 
								 | 
							
								debug="no"
							 | 
						||
| 
								 | 
							
								# compile options:
							 | 
						||
| 
								 | 
							
								opts=""
							 | 
						||
| 
								 | 
							
								# main output sub-directory:
							 | 
						||
| 
								 | 
							
								subdir=""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#######################################################################
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# section for C++ Builder
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#######################################################################
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function bcb_gen_lib()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib"
							 | 
						||
| 
								 | 
							
									echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# set up section comments:
							 | 
						||
| 
								 | 
							
									cat >> $tout << EOF
							 | 
						||
| 
								 | 
							
								########################################################
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# section for $libname.lib
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								########################################################
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	process source files:
							 | 
						||
| 
								 | 
							
									all_obj=""
							 | 
						||
| 
								 | 
							
									all_lib_obj=""
							 | 
						||
| 
								 | 
							
									for file in $src
							 | 
						||
| 
								 | 
							
									do
							 | 
						||
| 
								 | 
							
										obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
							 | 
						||
| 
								 | 
							
										obj="$subdir\\$libname\\$obj"
							 | 
						||
| 
								 | 
							
										all_obj="$all_obj $obj"
							 | 
						||
| 
								 | 
							
										all_lib_obj="$all_lib_obj +\"$obj\""
							 | 
						||
| 
								 | 
							
										echo "$obj: $file \$(ALL_HEADER)" >> $tout
							 | 
						||
| 
								 | 
							
										echo "	bcc32 @&&|" >> $tout
							 | 
						||
| 
								 | 
							
										echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout
							 | 
						||
| 
								 | 
							
										echo "|" >> $tout
							 | 
						||
| 
								 | 
							
										echo "" >> $tout
							 | 
						||
| 
								 | 
							
									done
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the directories for this library:
							 | 
						||
| 
								 | 
							
									echo "$subdir\\$libname : " >> $tout
							 | 
						||
| 
								 | 
							
									echo "	-@mkdir $subdir\\$libname" >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the clean options for this library:
							 | 
						||
| 
								 | 
							
									all_clean="$all_clean $libname""_clean"
							 | 
						||
| 
								 | 
							
									echo "$libname"_clean : >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.obj' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.il?' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.csm' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.tds' >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the main target for this library:
							 | 
						||
| 
								 | 
							
									echo $subdir\\$libname.lib : $all_obj >> $tout
							 | 
						||
| 
								 | 
							
									echo "	if exist $subdir\\$libname.lib del $subdir\\$libname.lib " >> $tout
							 | 
						||
| 
								 | 
							
									echo "	tlib @&&|" >> $tout
							 | 
						||
| 
								 | 
							
									echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout
							 | 
						||
| 
								 | 
							
									echo "|" >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function bcb_gen_dll()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib"
							 | 
						||
| 
								 | 
							
									echo "	copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
							 | 
						||
| 
								 | 
							
									echo "	copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout
							 | 
						||
| 
								 | 
							
									echo "	copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# set up section comments:
							 | 
						||
| 
								 | 
							
									cat >> $tout << EOF
							 | 
						||
| 
								 | 
							
								########################################################
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# section for $libname.lib
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								########################################################
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	process source files:
							 | 
						||
| 
								 | 
							
									all_obj=""
							 | 
						||
| 
								 | 
							
									for file in $src
							 | 
						||
| 
								 | 
							
									do
							 | 
						||
| 
								 | 
							
										obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1obj/g'`
							 | 
						||
| 
								 | 
							
										obj="$subdir\\$libname\\$obj"
							 | 
						||
| 
								 | 
							
										all_obj="$all_obj $obj"
							 | 
						||
| 
								 | 
							
										echo "$obj: $file \$(ALL_HEADER)" >> $tout
							 | 
						||
| 
								 | 
							
										echo "	bcc32 @&&|" >> $tout
							 | 
						||
| 
								 | 
							
										echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_REGEX_DYN_LINK -o$obj $file" >> $tout
							 | 
						||
| 
								 | 
							
										echo "|" >> $tout
							 | 
						||
| 
								 | 
							
										echo "" >> $tout
							 | 
						||
| 
								 | 
							
									done
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the directories for this library:
							 | 
						||
| 
								 | 
							
									echo "$subdir\\$libname :" >> $tout
							 | 
						||
| 
								 | 
							
									echo "	-@mkdir $subdir\\$libname" >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the clean options for this library:
							 | 
						||
| 
								 | 
							
									all_clean="$all_clean $libname""_clean"
							 | 
						||
| 
								 | 
							
									echo "$libname"_clean : >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.obj' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.il?' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.csm' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\$libname\\"'*.tds' >> $tout
							 | 
						||
| 
								 | 
							
									echo "	del $subdir\\"'*.tds' >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#	 now for the main target for this library:
							 | 
						||
| 
								 | 
							
									echo $subdir\\$libname.lib : $all_obj >> $tout
							 | 
						||
| 
								 | 
							
									echo "	bcc32 @&&|" >> $tout
							 | 
						||
| 
								 | 
							
									echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout
							 | 
						||
| 
								 | 
							
									echo "|" >> $tout
							 | 
						||
| 
								 | 
							
									echo "	implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout
							 | 
						||
| 
								 | 
							
									echo "" >> $tout
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function bcb_gen()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									tout="temp"
							 | 
						||
| 
								 | 
							
									iout="temp_install"
							 | 
						||
| 
								 | 
							
									all_dep="$subdir"
							 | 
						||
| 
								 | 
							
									all_clean=""
							 | 
						||
| 
								 | 
							
									echo > $out
							 | 
						||
| 
								 | 
							
									echo > $tout
							 | 
						||
| 
								 | 
							
									rm -f $iout
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-s-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-mt-s-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									libname="boost_regex-${subdir}-mt-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_dll
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="boost_regex-${subdir}-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_dll
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-mt-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-sd-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-mt-sd-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									libname="boost_regex-${subdir}-mt-d-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_dll
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="boost_regex-${subdir}-d-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_dll
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-mt-d-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									libname="libboost_regex-${subdir}-d-${boost_version}"
							 | 
						||
| 
								 | 
							
									opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
							 | 
						||
| 
								 | 
							
									bcb_gen_lib
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									cat > $out << EOF
							 | 
						||
| 
								 | 
							
								# copyright John Maddock 2006
							 | 
						||
| 
								 | 
							
								# Distributed under the Boost Software License, Version 1.0. 
							 | 
						||
| 
								 | 
							
								# (See accompanying file LICENSE_1_0.txt or copy at 
							 | 
						||
| 
								 | 
							
								# http://www.boost.org/LICENSE_1_0.txt.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# auto generated makefile for C++ Builder
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# usage:
							 | 
						||
| 
								 | 
							
								# make
							 | 
						||
| 
								 | 
							
								#   brings libraries up to date
							 | 
						||
| 
								 | 
							
								# make install
							 | 
						||
| 
								 | 
							
								#   brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
							 | 
						||
| 
								 | 
							
								# make clean
							 | 
						||
| 
								 | 
							
								#   removes all temporary files.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Add additional compiler options here:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CXXFLAGS=
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Add additional include directories here:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								INCLUDES=
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# add additional linker flags here:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								XLFLAGS=
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# add additional libraries to link to here:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								LIBS=
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# add additional static-library creation flags here:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								XSFLAGS=
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!ifndef BCROOT
							 | 
						||
| 
								 | 
							
								BCROOT=\$(MAKEDIR)\\..
							 | 
						||
| 
								 | 
							
								!endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
									echo "" >> $out
							 | 
						||
| 
								 | 
							
									echo "ALL_HEADER=$header" >> $out
							 | 
						||
| 
								 | 
							
									echo "" >> $out
							 | 
						||
| 
								 | 
							
									echo "all : $all_dep" >> $out
							 | 
						||
| 
								 | 
							
									echo >> $out
							 | 
						||
| 
								 | 
							
									echo "clean : $all_clean" >> $out
							 | 
						||
| 
								 | 
							
									echo >> $out
							 | 
						||
| 
								 | 
							
									echo "install : all" >> $out
							 | 
						||
| 
								 | 
							
									cat $iout >> $out
							 | 
						||
| 
								 | 
							
									echo >> $out
							 | 
						||
| 
								 | 
							
									echo $subdir : >> $out
							 | 
						||
| 
								 | 
							
									echo "	-@mkdir $subdir" >> $out
							 | 
						||
| 
								 | 
							
									echo "" >> $out
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									cat $tout >> $out
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								. common.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# generate C++ Builder 6 files:
							 | 
						||
| 
								 | 
							
								out="bcb6.mak"
							 | 
						||
| 
								 | 
							
								subdir="bcb"
							 | 
						||
| 
								 | 
							
								has_stlport="yes"
							 | 
						||
| 
								 | 
							
								bcb_gen
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |