make_linux 88 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934
  1. #!/bin/bash
  2. cd "$( dirname "$0" )"
  3. export VLMCSD_VERSION=$(git describe)
  4. export VERBOSE=3
  5. export DNS_PARSER=internal
  6. MAKEFLAGS="-j200 -B"
  7. REUSEOBJFLAGS="-j200"
  8. SMALLCC="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
  9. SMALLLD="-pipe -Wl,--hash-style=sysv -Wl,-z,norelro -Wl,--build-id=none"
  10. SMALL="$SMALLCC $SMALLLD"
  11. rm -f vlmcs vlmcsdmulti vlmcsd 2>/dev/null
  12. rm -fr ../binaries
  13. mkdir -p ../binaries/Linux/intel/glibc
  14. mkdir -p ../binaries/Linux/intel/uclibc
  15. mkdir -p ../binaries/Linux/intel/static
  16. mkdir -p ../binaries/Linux/intel/musl
  17. mkdir -p ../binaries/Linux/sparc/glibc
  18. mkdir -p ../binaries/Linux/s390/glibc
  19. mkdir -p ../binaries/Android/arm/bionic
  20. mkdir -p ../binaries/Android/arm/static
  21. mkdir -p ../binaries/Android/intel/bionic
  22. mkdir -p ../binaries/Android/intel/static
  23. mkdir -p ../binaries/Android/mips/bionic
  24. mkdir -p ../binaries/Android/mips/static
  25. mkdir -p ../binaries/Linux/arm/little-endian/glibc
  26. mkdir -p ../binaries/Linux/arm/little-endian/musl
  27. mkdir -p ../binaries/Linux/arm/little-endian/uclibc
  28. mkdir -p ../binaries/Linux/arm/little-endian/static
  29. mkdir -p ../binaries/Linux/arm/big-endian/uclibc
  30. mkdir -p ../binaries/Linux/arm/big-endian/static
  31. mkdir -p ../binaries/Linux/mips/little-endian/glibc
  32. mkdir -p ../binaries/Linux/mips/little-endian/uclibc
  33. mkdir -p ../binaries/Linux/mips/little-endian/static
  34. mkdir -p ../binaries/Linux/mips/little-endian/musl
  35. mkdir -p ../binaries/Linux/mips/big-endian/uclibc
  36. mkdir -p ../binaries/Linux/mips/big-endian/static
  37. mkdir -p ../binaries/Linux/mips/big-endian/glibc
  38. mkdir -p ../binaries/Linux/mips/big-endian/musl
  39. mkdir -p ../binaries/Linux/ppc/little-endian/glibc
  40. mkdir -p ../binaries/Linux/ppc/big-endian/glibc
  41. mkdir -p ../binaries/Linux/ppc/big-endian/uclibc
  42. mkdir -p ../binaries/Linux/ppc/big-endian/musl
  43. mkdir -p ../binaries/Linux/ppc/big-endian/static
  44. mkdir -p ../binaries/MacOSX/intel
  45. mkdir -p ../binaries/MacOSX/ppc
  46. mkdir -p ../binaries/iOS/arm
  47. mkdir -p ../binaries/FreeBSD/intel
  48. mkdir -p ../binaries/NetBSD/intel
  49. mkdir -p ../binaries/OpenBSD/intel
  50. mkdir -p ../binaries/DragonFly/intel
  51. mkdir -p ../binaries/Solaris/intel
  52. mkdir -p ../binaries/Windows/intel
  53. mkdir -p ../binaries/Minix/intel
  54. mkdir -p ../binaries/Hurd/intel
  55. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  56. export STAGING_DIR=.
  57. cd ../src
  58. pwd
  59. # Windows 32-bit using MingW32-w64 toolchain on Ubuntu Linux
  60. export CLIENT_NAME=../binaries/Windows/intel/vlmcs-Windows-x86-gcc.exe
  61. export PROGRAM_NAME=../binaries/Windows/intel/vlmcsd-Windows-x86-gcc.exe
  62. export MULTI_NAME=../binaries/Windows/intel/vlmcsdmulti-Windows-x86-gcc.exe
  63. export DLL_NAME=../binaries/Windows/intel/libkms32-gcc.dll
  64. export THREADS=1
  65. export CFLAGS="$SMALLCC"
  66. export CC=i686-w64-mingw32-gcc
  67. export PLATFORMFLAGS="-march=i686 -mtune=generic -fwhole-program -pipe"
  68. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--large-address-aware,--nxcompat,--dynamicbase,--tsaware,--no-seh,--disable-long-section-names"
  69. export FEATURES=full
  70. make $MAKEFLAGS CRYPTO=windows CAT=2 all $MULTI_NAME
  71. if [ $? != 0 ]; then
  72. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  73. exit $?
  74. fi
  75. export CFLAGS="$CFLAGS -flto=16 -fvisibility=hidden -DIS_LIBRARY"
  76. export LDFLAGS="$LDFLAGS -static-libgcc"
  77. #make $MAKEFLAGS CRYPTO=windows FEATURES=minimum $DLL_NAME CAT=2
  78. #
  79. #if [ $? != 0 ]; then
  80. # echo Error creating $DLL_NAME
  81. # exit $?
  82. #fi
  83. # Windows 32-bit using MingW32-w64 toolchain on Ubuntu Linux using MS RPC
  84. export CLIENT_NAME=../binaries/Windows/intel/vlmcs-Windows-msrpc-x86.exe
  85. export PROGRAM_NAME=../binaries/Windows/intel/vlmcsd-Windows-msrpc-x86.exe
  86. export MULTI_NAME=../binaries/Windows/intel/vlmcsdmulti-Windows-msrpc-x86.exe
  87. export THREADS=1
  88. export CFLAGS="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fmerge-all-constants -Wno-unused-variable -Wno-missing-braces"
  89. export CC=i686-w64-mingw32-gcc
  90. export PLATFORMFLAGS="-march=i686 -mtune=generic -pipe"
  91. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--large-address-aware,--nxcompat,--dynamicbase,--tsaware,--disable-long-section-names -fwhole-program"
  92. export FEATURES=full
  93. make $MAKEFLAGS MSRPC=1 CRYPTO=windows $CLIENT_NAME
  94. if [ $? != 0 ]; then
  95. echo Error creating $CLIENT_NAME
  96. exit $?
  97. fi
  98. #make $MAKEFLAGS MSRPC=1 CRYPTO=windows $MULTI_NAME CFLAGS="$CFLAGS -fno-lto" PLATFORMFLAGS="$PLATFORMFLAGS -fno-lto"
  99. #
  100. #if [ $? != 0 ]; then
  101. # echo Error creating $MULTI_NAME
  102. # exit $?
  103. #fi
  104. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--large-address-aware,--nxcompat,--dynamicbase,--tsaware,--disable-long-section-names,--no-seh -fwhole-program"
  105. make $REUSEOBJFLAGS CAT=1 MSRPC=1 CRYPTO=windows $PROGRAM_NAME
  106. if [ $? != 0 ]; then
  107. echo Error creating $PROGRAM_NAME
  108. exit $?
  109. fi
  110. # Windows 64-bit using MingW32-w64 toolchain on Ubuntu Linux
  111. export CLIENT_NAME=../binaries/Windows/intel/vlmcs-Windows-x64-gcc.exe
  112. export PROGRAM_NAME=../binaries/Windows/intel/vlmcsd-Windows-x64-gcc.exe
  113. export MULTI_NAME=../binaries/Windows/intel/vlmcsdmulti-Windows-x64-gcc.exe
  114. export DLL_NAME=../binaries/Windows/intel/libkms64-gcc.dll
  115. export THREADS=1
  116. export CFLAGS="$SMALLCC"
  117. export CC=x86_64-w64-mingw32-gcc
  118. export PLATFORMFLAGS="-march=nocona -mtune=generic -fwhole-program -pipe"
  119. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--nxcompat,--dynamicbase,--tsaware,--no-seh,--high-entropy-va,--disable-long-section-names"
  120. make $MAKEFLAGS CAT=2 CRYPTO=windows all $MULTI_NAME
  121. if [ $? != 0 ]; then
  122. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  123. exit $?
  124. fi
  125. export CFLAGS="$CFLAGS -flto=16 -fvisibility=hidden -DIS_LIBRARY"
  126. export LDFLAGS="$LDFLAGS -static-libgcc"
  127. #make $MAKEFLAGS CRYPTO=windows FEATURES=minimum $DLL_NAME CAT=2
  128. #
  129. #if [ $? != 0 ]; then
  130. # echo Error creating $DLL_NAME
  131. # exit $?
  132. #fi
  133. # Windows 64-bit using MingW32-w64 toolchain on Ubuntu Linux using MS RPC
  134. export CLIENT_NAME=../binaries/Windows/intel/vlmcs-Windows-msrpc-x64.exe
  135. export PROGRAM_NAME=../binaries/Windows/intel/vlmcsd-Windows-msrpc-x64.exe
  136. export MULTI_NAME=../binaries/Windows/intel/vlmcsdmulti-Windows-msrpc-x64.exe
  137. export THREADS=1
  138. export CFLAGS="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fmerge-all-constants -Wno-unused-variable -Wno-missing-braces"
  139. export CC=x86_64-w64-mingw32-gcc
  140. export PLATFORMFLAGS="-march=nocona -mtune=generic -pipe"
  141. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--nxcompat,--dynamicbase,--tsaware,--high-entropy-va,--disable-long-section-names -fwhole-program"
  142. make $MAKEFLAGS CRYPTO=windows MSRPC=1 $CLIENT_NAME # $MULTI_NAME
  143. if [ $? != 0 ]; then
  144. echo Error creating $CLIENT_NAME
  145. exit $?
  146. fi
  147. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--nxcompat,--dynamicbase,--tsaware,--no-seh,--high-entropy-va,--disable-long-section-names -fwhole-program"
  148. make $REUSEOBJFLAGS CAT=2 CRYPTO=windows MSRPC=1 $PROGRAM_NAME
  149. if [ $? != 0 ]; then
  150. echo Error creating $PROGRAM_NAME
  151. exit $?
  152. fi
  153. # mips1el uclibc with old tomato toolchain gcc 3.2.3 with Broadcom extensions uClibc 0.9.19
  154. export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips1el-tomato-uclibc
  155. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips1el-tomato-uclibc
  156. export MULTI_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips1el-tomato-uclibc
  157. export CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
  158. export CFLAGS="-DNO_BUILTIN -DNO_LIMIT -pipe -fno-common -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
  159. export PLATFORMFLAGS=""
  160. export LDFLAGS="-fwhole-program -Wl,-z,norelro"
  161. export THREADS=0
  162. #export TERMINAL_WIDTH=80
  163. make $MAKEFLAGS GETIFADDRS=musl NO_DNS=1 SAFE_MODE=1 allmulti
  164. if [ $? != 0 ]; then
  165. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  166. exit $?
  167. fi
  168. export CLIENT_NAME=../binaries/Linux/mips/little-endian/static/vlmcs-mips1el-tomato-uclibc-static
  169. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/static/vlmcsd-mips1el-tomato-uclibc-static
  170. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips1el-tomato-uclibc-static
  171. export LDFLAGS="$LDFLAGS -static"
  172. make NO_DNS=1 SAFE_MODE=1 GETIFADDRS=musl $REUSEOBJFLAGS allmulti
  173. if [ $? != 0 ]; then
  174. echo Error creating $MULTI_NAME
  175. exit $?
  176. fi
  177. # Linux mips32el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain
  178. export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips32el-openwrt-uclib
  179. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips32el-openwrt-uclibc
  180. export MULTI_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips32el-openwrt-uclibc
  181. export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc
  182. export CFLAGS="$SMALLCC -DNO_LIMIT"
  183. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  184. export LDFLAGS="-lpthread $SMALLLD"
  185. export THREADS=0
  186. make $MAKEFLAGS allmulti
  187. if [ $? != 0 ]; then
  188. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  189. exit $?
  190. fi
  191. export CLIENT_NAME=../binaries/Linux/mips/little-endian/static/vlmcs-mips32el-openwrt-uclib-static
  192. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-openwrt-uclibc-static
  193. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips32el-openwrt-uclibc-static
  194. export LDFLAGS="$LDFLAGS -static"
  195. make $REUSEOBJFLAGS allmulti
  196. if [ $? != 0 ]; then
  197. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  198. exit $?
  199. fi
  200. # Linux mips16el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain with statically linked libgcc for Asus routers, e.g. Asus RT-N66U
  201. export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-asus-rt-n66u-uclibc
  202. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-asus-rt-n66u-uclibc
  203. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-asus-rt-n66u-uclibc
  204. export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc
  205. export CFLAGS="$SMALLCC -static-libgcc -DNO_LIMIT"
  206. export PLATFORMFLAGS="-mips32 -mips16 -flto=16 -fwhole-program"
  207. export LDFLAGS="-lpthread $SMALLLD"
  208. export THREADS=0
  209. make $MAKEFLAGS allmulti
  210. if [ $? != 0 ]; then
  211. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  212. exit $?
  213. fi
  214. export CLIENT_NAME=../binaries/Linux/mips/little-endian/static/vlmcs-mips16el-asus-rt-n66u-uclibc-static
  215. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/static/vlmcsd-mips16el-asus-rt-n66u-uclibc-static
  216. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-asus-rt-n66u-uclibc-static
  217. export LDFLAGS="$LDFLAGS -static"
  218. make $REUSEOBJFLAGS allmulti
  219. if [ $? != 0 ]; then
  220. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  221. exit $?
  222. fi
  223. # Linux mips16el with uClibc 0.9.33.2 using gcc 4.8 from OpenWRT toolchain
  224. export CLIENT_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-openwrt-uclibc
  225. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-openwrt-uclibc
  226. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-openwrt-uclibc
  227. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  228. export LDFLAGS="-lpthread $SMALLLD"
  229. make $MAKEFLAGS allmulti
  230. if [ $? != 0 ]; then
  231. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  232. exit $?
  233. fi
  234. export CLIENT_NAME=../binaries/Linux/mips/little-endian/static/vlmcs-mips16el-openwrt-uclib-static
  235. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/static/vlmcsd-mips16el-openwrt-uclibc-static
  236. export MULTI_NAME=../binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-openwrt-uclibc-static
  237. export LDFLAGS="$LDFLAGS -static"
  238. make $REUSEOBJFLAGS allmulti
  239. if [ $? != 0 ]; then
  240. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  241. exit $?
  242. fi
  243. # Linux mips16el eglibc 2.19 using gcc 4.8 from OpenWRT toolchain
  244. export CLIENT_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcs-mips16el-openwrt-glibc
  245. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsd-mips16el-openwrt-glibc
  246. export MULTI_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips16el-openwrt-glibc
  247. export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2
  248. #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc
  249. export CFLAGS="$SMALLCC"
  250. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=mips32 -mips16"
  251. export LDFLAGS="$SMALLLD"
  252. export THREADS=0
  253. make $MAKEFLAGS allmulti
  254. if [ $? != 0 ]; then
  255. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  256. exit $?
  257. fi
  258. # PowerPC 64-bit big-endian glibc.
  259. export CLIENT_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcs-ppc64-glibc
  260. export PROGRAM_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc64-glibc
  261. export MULTI_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc64-glibc
  262. export CC=/opt/toolchains/ppc64-glibc2.19-gcc-4.9.1/bin/powerpc64-linux-gcc
  263. export CFLAGS="$SMALLCC"
  264. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  265. export LDFLAGS="$SMALLLD"
  266. export THREADS=0
  267. make $MAKEFLAGS allmulti
  268. if [ $? != 0 ]; then
  269. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  270. exit $?
  271. fi
  272. # PowerPC 64-bit little-endian glibc.
  273. export CLIENT_NAME=../binaries/Linux/ppc/little-endian/glibc/vlmcs-ppc64el-glibc
  274. export PROGRAM_NAME=../binaries/Linux/ppc/little-endian/glibc/vlmcsd-ppc64el-glibc
  275. export MULTI_NAME=../binaries/Linux/ppc/little-endian/glibc/vlmcsdmulti-ppc64el-glibc
  276. export CC=/opt/toolchains/ppc64el-glibc2.20-gcc-4.9.1/bin/powerpc64le-linux-gcc
  277. export CFLAGS="$SMALLCC"
  278. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  279. export LDFLAGS="$SMALLLD"
  280. export THREADS=0
  281. make DNS_PARSER=OS $MAKEFLAGS allmulti
  282. if [ $? != 0 ]; then
  283. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  284. exit $?
  285. fi
  286. # PowerPC glibc. Compiles with gcc 4.8 from OpenWRT toolchain but uses libs from an old DM500 toolchain to be compatible with glibc 2.3
  287. export CLIENT_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcs-ppc-glibc
  288. export PROGRAM_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc-glibc
  289. export MULTI_NAME=../binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc-glibc
  290. export CC=/opt/toolchains/ppc-openwrt-eglibc-2.19-gcc-4.8/bin/powerpc-openwrt-linux-gcc
  291. export CFLAGS="$SMALLCC"
  292. export PLATFORMFLAGS="-flto=16 -fwhole-program --sysroot=/opt/simplebuild/toolchains/powerpc -L/opt/simplebuild/toolchains/powerpc/lib -L/opt/simplebuild/toolchains/powerpc/usr/lib"
  293. export LDFLAGS="$SMALLLD"
  294. export THREADS=0
  295. make $MAKEFLAGS allmulti
  296. if [ $? != 0 ]; then
  297. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  298. exit $?
  299. fi
  300. # Mips 32 glibc compiled with gcc 4.9.2 from OpenWRT toolchain
  301. export CLIENT_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcs-mips32-openwrt-glibc
  302. export PROGRAM_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsd-mips32-openwrt-glibc
  303. export MULTI_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips32-openwrt-glibc
  304. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc
  305. #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc
  306. export CFLAGS="$SMALLCC"
  307. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32"
  308. export LDFLAGS="$SMALLLD"
  309. export THREADS=0
  310. make $MAKEFLAGS allmulti
  311. if [ $? != 0 ]; then
  312. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  313. exit $?
  314. fi
  315. # Mips 32 glibc compiled with gcc 4.9.2 from OpenWRT toolchain
  316. export CLIENT_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcs-mips16-openwrt-glibc
  317. export PROGRAM_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsd-mips16-openwrt-glibc
  318. export MULTI_NAME=../binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips16-openwrt-glibc
  319. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc
  320. #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc
  321. export CFLAGS="$SMALLCC"
  322. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16"
  323. export LDFLAGS="$SMALLLD"
  324. export THREADS=0
  325. make $MAKEFLAGS allmulti
  326. if [ $? != 0 ]; then
  327. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  328. exit $?
  329. fi
  330. # mips32el glibc 2.19 compiled with gcc 4.8 from OpenWRT toolchain
  331. export CLIENT_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcs-mips32el-openwrt-glibc
  332. export PROGRAM_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsd-mips32el-openwrt-glibc
  333. export MULTI_NAME=../binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips32el-openwrt-glibc
  334. export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2
  335. #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc
  336. export CFLAGS="$SMALLCC"
  337. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32"
  338. export LDFLAGS="$SMALLLD"
  339. export THREADS=0
  340. make $MAKEFLAGS allmulti
  341. if [ $? != 0 ]; then
  342. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  343. exit $?
  344. fi
  345. # armv7 glibc 2.22 gcc 5.3 OpenWRT toolchain
  346. export CC=/opt/toolchains/armelv7-OpenWRT-BCM47xx_53xx-gcc-5.3.0-glibc-2.22/bin/arm-openwrt-linux-gcc
  347. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armelv7-bcm47xx_53xx-openwrt-glibc
  348. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armelv7-bcm47xx_53xx-openwrt-glibc
  349. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armelv7-bcm47xx_53xx-openwrt-glibc
  350. export CFLAGS="$SMALLCC"
  351. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7-a -mthumb -mtune=cortex-a9"
  352. export LDFLAGS="$SMALLLD -static-libgcc"
  353. export THREADS=0
  354. export DNS_PARSER=internal
  355. make $MAKEFLAGS allmulti
  356. if [ $? != 0 ]; then
  357. echo Error creating $MULTI_NAME, $CLIENT_NAME and/or $PROGRAM_NAME
  358. exit $?
  359. fi
  360. # armv7 glibc 2.22 gcc 5.3 OpenWRT toolchain
  361. export CC=/opt/toolchains/armelv7-OpenWRT-BCM47xx_53xx-gcc-5.3.0-musl-1.14/bin/arm-openwrt-linux-gcc
  362. export CLIENT_NAME=../binaries/Linux/arm/little-endian/musl/vlmcs-armelv7-bcm47xx_53xx-openwrt-musl
  363. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/musl/vlmcsd-armelv7-bcm47xx_53xx-openwrt-musl
  364. export MULTI_NAME=../binaries/Linux/arm/little-endian/musl/vlmcsdmulti-armelv7-bcm47xx_53xx-openwrt-musl
  365. export CFLAGS="$SMALLCC"
  366. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7-a -mthumb -mtune=cortex-a9"
  367. export LDFLAGS="$SMALLLD -static-libgcc"
  368. export THREADS=0
  369. make DNS_PARSER=OS $MAKEFLAGS allmulti
  370. if [ $? != 0 ]; then
  371. echo Error creating $MULTI_NAME, $CLIENT_NAME and/or $PROGRAM_NAME
  372. exit $?
  373. fi
  374. export CLIENT_NAME=../binaries/Linux/arm/little-endian/static/vlmcs-armelv7-bcm47xx_53xx-openwrt-musl-static
  375. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/static/vlmcsd-armelv7-bcm47xx_53xx-openwrt-musl-static
  376. export MULTI_NAME=../binaries/Linux/arm/little-endian/static/vlmcsdmulti-armelv7-bcm47xx_53xx-openwrt-musl-static
  377. export LDFLAGS="$SMALLLD -static"
  378. make DNS_PARSER=OS $REUSEOBJFLAGS allmulti
  379. if [ $? != 0 ]; then
  380. echo Error creating $MULTI_NAME, $CLIENT_NAME and/or $PROGRAM_NAME
  381. exit $?
  382. fi
  383. #Android gcc 4.8 with API Level 3 (Android 1.5 cupcake) armv7
  384. export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android15-armv7
  385. export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android15-armv7
  386. export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv7
  387. export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc
  388. export CFLAGS="$SMALLCC"
  389. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb"
  390. export THREADS=0
  391. export LDFLAGS="$SMALLLD"
  392. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  393. if [ $? != 0 ]; then
  394. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  395. exit $?
  396. fi
  397. export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android15-armv7-static
  398. export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android15-armv7-static
  399. export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv7-static
  400. export LDFLAGS="$LDFLAGS -static"
  401. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS allmulti
  402. if [ $? != 0 ]; then
  403. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  404. exit $?
  405. fi
  406. #Android gcc 4.8 with API Level 3 (Android 1.5 cupcake) armv5
  407. export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android15-armv5
  408. export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android15-armv5
  409. export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv5
  410. export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc
  411. export CFLAGS="$SMALLCC"
  412. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5te -mthumb"
  413. export THREADS=0
  414. export LDFLAGS="$SMALLLD"
  415. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  416. if [ $? != 0 ]; then
  417. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  418. exit $?
  419. fi
  420. export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android15-armv5-static
  421. export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android15-armv5-static
  422. export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android15-armv5-static
  423. export LDFLAGS="$LDFLAGS -static"
  424. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS allmulti
  425. if [ $? != 0 ]; then
  426. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  427. exit $?
  428. fi
  429. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) armv7
  430. export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android41-armv7
  431. export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android41-armv7
  432. export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android41-armv7
  433. export CC=/opt/toolchains/armelv7-android-16/bin/arm-linux-androideabi-gcc
  434. export CFLAGS="$SMALLCC"
  435. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb -fPIE -pie"
  436. export THREADS=0
  437. export LDFLAGS="$SMALLLD"
  438. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  439. if [ $? != 0 ]; then
  440. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  441. exit $?
  442. fi
  443. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) armv7
  444. #
  445. #export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android50-armv7
  446. #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android50-armv7
  447. #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android50-armv7
  448. #export CC=/opt/toolchains/armelv7-android-21/bin/arm-linux-androideabi-gcc
  449. #export CFLAGS="$SMALLCC"
  450. #export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb -fPIE -pie"
  451. #export THREADS=0
  452. #export LDFLAGS="$SMALLLD"
  453. #
  454. #make NOLPTHREAD=1 $MAKEFLAGS
  455. #
  456. #if [ $? != 0 ]; then
  457. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  458. # exit $?
  459. #fi
  460. #
  461. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  462. #
  463. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  464. #
  465. #if [ $? != 0 ]; then
  466. # echo Error creating $MULTI_NAME
  467. # exit $?
  468. #fi
  469. #
  470. #
  471. #
  472. #
  473. #
  474. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) arm64el
  475. export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android50-arm64v8
  476. export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android50-arm64v8
  477. export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android50-arm64v8
  478. export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc
  479. export CFLAGS="$SMALLCC"
  480. export PLATFORMFLAGS="-flto=16 -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a -fPIE -pie"
  481. export THREADS=0
  482. export LDFLAGS="$SMALLLD"
  483. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS allmulti
  484. if [ $? != 0 ]; then
  485. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  486. exit $?
  487. fi
  488. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) arm64el STATIC
  489. export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android50-arm64v8-static
  490. export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android50-arm64v8-static
  491. export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android50-arm64v8-static
  492. export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc
  493. export CFLAGS="$SMALLCC"
  494. export PLATFORMFLAGS="-flto=16 -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a"
  495. export THREADS=0
  496. export LDFLAGS="$SMALLLD -static"
  497. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  498. if [ $? != 0 ]; then
  499. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  500. exit $?
  501. fi
  502. #Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) x86
  503. export CLIENT_NAME=../binaries/Android/intel/bionic/vlmcs-android23-x86
  504. export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android23-x86
  505. export MULTI_NAME=../binaries/Android/intel/static/vlmcsdmulti-android23-x86
  506. export CC=/opt/toolchains/x86-android-9/bin/i686-linux-android-gcc
  507. export CFLAGS="$SMALLCC"
  508. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32"
  509. export THREADS=1
  510. export LDFLAGS="$SMALLLD"
  511. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  512. if [ $? != 0 ]; then
  513. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  514. exit $?
  515. fi
  516. export CLIENT_NAME=../binaries/Android/intel/static/vlmcs-android23-x86-static
  517. export PROGRAM_NAME=../binaries/Android/intel/static/vlmcsd-android23-x86-static
  518. export MULTI_NAME=../binaries/Android/intel/static/vlmcsdmulti-android23-x86-static
  519. export LDFLAGS="$LDFLAGS -static"
  520. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS allmulti
  521. if [ $? != 0 ]; then
  522. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  523. exit $?
  524. fi
  525. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) x86
  526. export CLIENT_NAME=../binaries/Android/intel/bionic/vlmcs-android41-x86
  527. export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android41-x86
  528. export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android41-x86
  529. export CC=/opt/toolchains/x86-android-16/bin/i686-linux-android-gcc
  530. export CFLAGS="$SMALLCC"
  531. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32 -fPIE -pie"
  532. export THREADS=1
  533. export LDFLAGS="$SMALLLD"
  534. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  535. if [ $? != 0 ]; then
  536. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  537. exit $?
  538. fi
  539. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) x86
  540. #
  541. #export CLIENT_NAME=../binaries/Android/intel/bionic/vlmcs-android50-x86
  542. #export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android50-x86
  543. #export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android50-x86
  544. #export CC=/opt/toolchains/x86-android-21/bin/i686-linux-android-gcc
  545. #export CFLAGS="$SMALLCC"
  546. #export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m32 -fPIE -pie"
  547. #export THREADS=1
  548. #export LDFLAGS="$SMALLLD"
  549. #
  550. #make NOLPTHREAD=1 $MAKEFLAGS
  551. #
  552. #if [ $? != 0 ]; then
  553. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  554. # exit $?
  555. #fi
  556. #
  557. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  558. #
  559. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  560. #
  561. #if [ $? != 0 ]; then
  562. # echo Error creating $MULTI_NAME
  563. # exit $?
  564. #fi
  565. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) x64
  566. export CLIENT_NAME=../binaries/Android/intel/bionic/vlmcs-android50-x64
  567. export PROGRAM_NAME=../binaries/Android/intel/bionic/vlmcsd-android50-x64
  568. export MULTI_NAME=../binaries/Android/intel/bionic/vlmcsdmulti-android50-x64
  569. export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc
  570. export CFLAGS="$SMALLCC"
  571. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=atom -m64 -fPIE -pie"
  572. export THREADS=0
  573. export LDFLAGS="$SMALLLD"
  574. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS allmulti
  575. if [ $? != 0 ]; then
  576. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  577. exit $?
  578. fi
  579. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) x64 STATIC
  580. export CLIENT_NAME=../binaries/Android/intel/static/vlmcs-android50-x64-static
  581. export PROGRAM_NAME=../binaries/Android/intel/static/vlmcsd-android50-x64-static
  582. export MULTI_NAME=../binaries/Android/intel/static/vlmcsdmulti-android50-x64-static
  583. export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc
  584. export CFLAGS="$SMALLCC"
  585. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=nocona -m64"
  586. export THREADS=0
  587. export LDFLAGS="$SMALLLD -static"
  588. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  589. if [ $? != 0 ]; then
  590. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  591. exit $?
  592. fi
  593. #Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) mips32el
  594. export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android23-mips32el
  595. export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android23-mips32el
  596. export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android23-mips32el
  597. export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc
  598. export CFLAGS="$SMALLCC"
  599. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  600. export THREADS=1
  601. export LDFLAGS="$SMALLLD"
  602. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  603. if [ $? != 0 ]; then
  604. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  605. exit $?
  606. fi
  607. export CLIENT_NAME=../binaries/Android/mips/static/vlmcs-android23-mips32el-static
  608. export PROGRAM_NAME=../binaries/Android/mips/static/vlmcsd-android23-mips32el-static
  609. export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android23-mips32el-static
  610. export LDFLAGS="$LDFLAGS -static"
  611. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS allmulti
  612. if [ $? != 0 ]; then
  613. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  614. exit $?
  615. fi
  616. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) mips32el
  617. export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android41-mips32el
  618. export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android41-mips32el
  619. export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android41-mips32el
  620. export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc
  621. export CFLAGS="$SMALLCC"
  622. export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie"
  623. export THREADS=1
  624. export LDFLAGS="$SMALLLD"
  625. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  626. if [ $? != 0 ]; then
  627. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  628. exit $?
  629. fi
  630. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) mips32el
  631. #
  632. #export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android50-mips32el
  633. #export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android50-mips32el
  634. #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips32el
  635. #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc
  636. #export CFLAGS="$SMALLCC"
  637. #export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie"
  638. #export THREADS=1
  639. #export LDFLAGS="$SMALLLD"
  640. #
  641. #make NOLPTHREAD=1 $MAKEFLAGS
  642. #
  643. #if [ $? != 0 ]; then
  644. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  645. # exit $?
  646. #fi
  647. #
  648. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  649. #
  650. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  651. #
  652. #if [ $? != 0 ]; then
  653. # echo Error creating $MULTI_NAME
  654. # exit $?
  655. #fi
  656. ##Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) mips16el
  657. #
  658. #export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android23-mips16el
  659. #export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android23-mips16el
  660. #export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc
  661. #export CFLAGS="$SMALLCC"
  662. #export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  663. #export THREADS=1
  664. #export LDFLAGS="$SMALLLD"
  665. #
  666. #make NOLPTHREAD=1 $MAKEFLAGS
  667. #
  668. #if [ $? != 0 ]; then
  669. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  670. # exit $?
  671. #fi
  672. #
  673. #export CLIENT_NAME=../binaries/Android/mips/static/vlmcs-android23-mips16el-static
  674. #export PROGRAM_NAME=../binaries/Android/mips/static/vlmcsd-android23-mips16el-static
  675. #export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android23-mips16el-static
  676. #export LDFLAGS="$LDFLAGS -static"
  677. #
  678. #make NOLPTHREAD=1 $REUSEOBJFLAGS
  679. #
  680. #if [ $? != 0 ]; then
  681. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  682. # exit $?
  683. #fi
  684. #
  685. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  686. #
  687. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  688. #
  689. #if [ $? != 0 ]; then
  690. # echo Error creating $MULTI_NAME
  691. # exit $?
  692. #fi
  693. #
  694. #export LDFLAGS="$SMALLLD"
  695. #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android23-mips16el
  696. #
  697. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  698. #
  699. #if [ $? != 0 ]; then
  700. # echo Error creating $MULTI_NAME
  701. # exit $?
  702. #fi
  703. #
  704. #
  705. #
  706. #
  707. #
  708. ##Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) mips16el
  709. #
  710. #export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android41-mips16el
  711. #export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android41-mips16el
  712. #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android41-mips16el
  713. #export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc
  714. #export CFLAGS="$SMALLCC"
  715. #export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie -mips16"
  716. #export THREADS=1
  717. #export LDFLAGS="$SMALLLD"
  718. #
  719. #make NOLPTHREAD=1 $MAKEFLAGS
  720. #
  721. #if [ $? != 0 ]; then
  722. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  723. # exit $?
  724. #fi
  725. #
  726. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  727. #
  728. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  729. #
  730. #if [ $? != 0 ]; then
  731. # echo Error creating $MULTI_NAME
  732. # exit $?
  733. #fi
  734. #
  735. #
  736. #
  737. #
  738. #
  739. #Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) mips16el
  740. #
  741. #export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android50-mips16el
  742. #export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android50-mips16el
  743. #export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips16el
  744. #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc
  745. #export CFLAGS="$SMALLCC"
  746. #export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie -mips16"
  747. #export THREADS=1
  748. #export LDFLAGS="$SMALLLD"
  749. #
  750. #make NOLPTHREAD=1 $MAKEFLAGS
  751. #
  752. #if [ $? != 0 ]; then
  753. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  754. # exit $?
  755. #fi
  756. #
  757. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  758. #
  759. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  760. #
  761. #if [ $? != 0 ]; then
  762. # echo Error creating $MULTI_NAME
  763. # exit $?
  764. #fi
  765. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) mips64el
  766. export CLIENT_NAME=../binaries/Android/mips/bionic/vlmcs-android50-mips64el
  767. export PROGRAM_NAME=../binaries/Android/mips/bionic/vlmcsd-android50-mips64el
  768. export MULTI_NAME=../binaries/Android/mips/bionic/vlmcsdmulti-android50-mips64el
  769. export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc
  770. export CFLAGS="$SMALLCC"
  771. export PLATFORMFLAGS="-flto=16 -fwhole-program -fPIE -pie"
  772. export THREADS=0
  773. export LDFLAGS="$SMALLLD"
  774. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS allmulti
  775. if [ $? != 0 ]; then
  776. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  777. exit $?
  778. fi
  779. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) mips64el STATIC
  780. export CLIENT_NAME=../binaries/Android/mips/static/vlmcs-android50-mips64el-static
  781. export PROGRAM_NAME=../binaries/Android/mips/static/vlmcsd-android50-mips64el-static
  782. export MULTI_NAME=../binaries/Android/mips/static/vlmcsdmulti-android50-mips64el-static
  783. export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc
  784. export CFLAGS="$SMALLCC"
  785. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  786. export THREADS=0
  787. export LDFLAGS="$SMALLLD -static"
  788. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS allmulti
  789. if [ $? != 0 ]; then
  790. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  791. exit $?
  792. fi
  793. ## Android 5.0+ with Ubuntu toolchain
  794. #export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android5
  795. #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android5
  796. #export CC=arm-linux-androideabi-gcc
  797. #export CFLAGS="$SMALLCC"
  798. #export PLATFORMFLAGS="-flto=16 -fwhole-program"
  799. #export LDFLAGS="$SMALLLD -pie -fpie"
  800. #export THREADS=0
  801. #
  802. #make $MAKEFLAGS
  803. #
  804. #if [ $? != 0 ]; then
  805. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  806. # exit $?
  807. #fi
  808. #
  809. #
  810. # Android 5.0+ with Ubuntu toolchain STATIC
  811. #export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android5-static
  812. #export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android5-static
  813. #export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android5-static
  814. #export LDFLAGS="$LDFLAGS -static"
  815. #
  816. #make $REUSEOBJFLAGS
  817. #
  818. #if [ $? != 0 ]; then
  819. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  820. # exit $?
  821. #fi
  822. #
  823. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  824. #
  825. #make $REUSEOBJFLAGS $MULTI_NAME
  826. #
  827. #if [ $? != 0 ]; then
  828. # echo Error creating $MULTI_NAME
  829. # exit $?
  830. #fi
  831. #
  832. #export LDFLAGS="$SMALLLD -pie -fpie"
  833. #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android5
  834. #
  835. #make $REUSEOBJFLAGS $MULTI_NAME
  836. #
  837. #if [ $? != 0 ]; then
  838. # echo Error creating $MULTI_NAME
  839. # exit $?
  840. #fi
  841. #
  842. #
  843. #
  844. #
  845. ## Android 5.0+ with Ubuntu toolchain for ARMv7 CPU with thumb2 instruction set
  846. #export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android5-armv7
  847. #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android5-armv7
  848. #export CC=arm-linux-androideabi-gcc
  849. #export CFLAGS="$SMALLCC"
  850. #export PLATFORMFLAGS="-flto=16 -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9"
  851. #export LDFLAGS="$SMALLLD -pie -fpie"
  852. #export THREADS=0
  853. #
  854. #make $MAKEFLAGS
  855. #
  856. #if [ $? != 0 ]; then
  857. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  858. # exit $?
  859. #fi
  860. #
  861. #export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android5-armv7-static
  862. #export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android5-armv7-static
  863. #export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android5-armv7-static
  864. #export LDFLAGS="$LDFLAGS -static"
  865. #
  866. #make $REUSEOBJFLAGS
  867. #
  868. #if [ $? != 0 ]; then
  869. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  870. # exit $?
  871. #fi
  872. #
  873. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  874. #
  875. #make $REUSEOBJFLAGS $MULTI_NAME
  876. #
  877. #if [ $? != 0 ]; then
  878. # echo Error creating $MULTI_NAME
  879. # exit $?
  880. #fi
  881. #
  882. #export LDFLAGS="$SMALLLD -pie -fpie"
  883. #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android5-armv7
  884. #
  885. #make $REUSEOBJFLAGS $MULTI_NAME
  886. #
  887. #if [ $? != 0 ]; then
  888. # echo Error creating $MULTI_NAME
  889. # exit $?
  890. #fi
  891. #
  892. ##unset TERMINAL_WIDTH
  893. #
  894. #
  895. #
  896. #
  897. #
  898. ## Android with Ubuntu toolchain
  899. #export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android
  900. #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android
  901. #export CC=arm-linux-androideabi-gcc
  902. #export CFLAGS="$SMALLCC"
  903. #export PLATFORMFLAGS="-flto=16 -fwhole-program"
  904. #export LDFLAGS="$SMALLLD"
  905. #export THREADS=0
  906. #
  907. #make $MAKEFLAGS
  908. #
  909. #if [ $? != 0 ]; then
  910. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  911. # exit $?
  912. #fi
  913. #
  914. #
  915. ## Android with Ubuntu toolchain STATIC
  916. #export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android-static
  917. #export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android-static
  918. #export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android-static
  919. #export LDFLAGS="$LDFLAGS -static"
  920. #
  921. #make $REUSEOBJFLAGS
  922. #
  923. #if [ $? != 0 ]; then
  924. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  925. # exit $?
  926. #fi
  927. #
  928. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  929. #
  930. #make $REUSEOBJFLAGS $MULTI_NAME
  931. #
  932. #if [ $? != 0 ]; then
  933. # echo Error creating $MULTI_NAME
  934. # exit $?
  935. #fi
  936. #
  937. #export LDFLAGS="$SMALLLD"
  938. #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android
  939. #
  940. #make $REUSEOBJFLAGS $MULTI_NAME
  941. #
  942. #if [ $? != 0 ]; then
  943. # echo Error creating $MULTI_NAME
  944. # exit $?
  945. #fi
  946. # Android with Ubuntu toolchain for ARMv7 CPU with thumb2 instruction set
  947. #export CLIENT_NAME=../binaries/Android/arm/bionic/vlmcs-android-armv7
  948. #export PROGRAM_NAME=../binaries/Android/arm/bionic/vlmcsd-android-armv7
  949. #export CC=arm-linux-androideabi-gcc
  950. #export CFLAGS="$SMALLCC"
  951. #export PLATFORMFLAGS="-flto=16 -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9"
  952. #export LDFLAGS="$SMALLLD"
  953. #export THREADS=0
  954. #
  955. #make $MAKEFLAGS
  956. #
  957. #if [ $? != 0 ]; then
  958. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  959. # exit $?
  960. #fi
  961. #
  962. #export CLIENT_NAME=../binaries/Android/arm/static/vlmcs-android-armv7-static
  963. #export PROGRAM_NAME=../binaries/Android/arm/static/vlmcsd-android-armv7-static
  964. #export MULTI_NAME=../binaries/Android/arm/static/vlmcsdmulti-android-armv7-static
  965. #export LDFLAGS="$LDFLAGS -static"
  966. #
  967. #make $REUSEOBJFLAGS
  968. #
  969. #if [ $? != 0 ]; then
  970. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  971. # exit $?
  972. #fi
  973. #
  974. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  975. #
  976. #make $REUSEOBJFLAGS $MULTI_NAME
  977. #
  978. #if [ $? != 0 ]; then
  979. # echo Error creating $MULTI_NAME
  980. # exit $?
  981. #fi
  982. #
  983. #export LDFLAGS="$SMALLLD"
  984. #export MULTI_NAME=../binaries/Android/arm/bionic/vlmcsdmulti-android-armv7
  985. #
  986. #make $REUSEOBJFLAGS $MULTI_NAME
  987. #
  988. #if [ $? != 0 ]; then
  989. # echo Error creating $MULTI_NAME
  990. # exit $?
  991. #fi
  992. # Linux x86 glibc
  993. export MULTI_NAME=../binaries/Linux/intel/glibc/vlmcsdmulti-x86-glibc
  994. export CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x86-glibc
  995. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc
  996. export CC=/opt/toolchains/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc
  997. export CFLAGS="$SMALLCC"
  998. export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i686 -mtune=generic"
  999. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1000. export THREADS=0
  1001. make $MAKEFLAGS allmulti
  1002. if [ $? != 0 ]; then
  1003. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1004. exit $?
  1005. fi
  1006. # Linux x86 glibc minimum standalone version
  1007. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc-minimum
  1008. export CC=/opt/toolchains/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc
  1009. export CFLAGS="$SMALLCC"
  1010. export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i686 -mtune=generic"
  1011. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1012. export THREADS=0
  1013. export FEATURES=minimum
  1014. make NO_DNS=1 $MAKEFLAGS $PROGRAM_NAME
  1015. if [ $? != 0 ]; then
  1016. echo Error creating $PROGRAM_NAME
  1017. exit $?
  1018. fi
  1019. # Linux x86 glibc minimum inetd version
  1020. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc-minimum-inetd
  1021. export CFLAGS="$CFLAGS -DNO_SOCKETS"
  1022. make NO_DNS=1 $MAKEFLAGS $PROGRAM_NAME
  1023. if [ $? != 0 ]; then
  1024. echo Error creating $PROGRAM_NAME
  1025. exit $?
  1026. fi
  1027. # Linux x86 glibc threads
  1028. export FEATURES=full
  1029. export THREADS=1
  1030. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x86-glibc-threads
  1031. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread"
  1032. export CFLAGS="$SMALLCC"
  1033. make $MAKEFLAGS $PROGRAM_NAME
  1034. if [ $? != 0 ]; then
  1035. echo Error creating $PROGRAM_NAME
  1036. exit $?
  1037. fi
  1038. # Linux x86 musl
  1039. export FEATURES=full
  1040. export MULTI_NAME=../binaries/Linux/intel/static/vlmcsdmulti-x86-musl-static
  1041. export CLIENT_NAME=../binaries/Linux/intel/static/vlmcs-x86-musl-static
  1042. export PROGRAM_NAME=../binaries/Linux/intel/static/vlmcsd-x86-musl-static
  1043. #export CC=/opt/toolchains/i386_i486_gcc-4.9-linaro_musl-1.1.6/bin/i486-openwrt-linux-musl-gcc-4.9.2
  1044. export CC=/opt/toolchains/i486-musl-gcc-5.3.0-binutils-2.25.1/bin/i486-Hotbird-linux-musl-gcc.br_real
  1045. export CFLAGS="$SMALLCC"
  1046. export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic"
  1047. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1048. export THREADS=0
  1049. export NOPROCFS=0
  1050. export AUXV=1
  1051. make $MAKEFLAGS allmulti
  1052. if [ $? != 0 ]; then
  1053. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1054. exit $?
  1055. fi
  1056. export CLIENT_NAME=../binaries/Linux/intel/musl/vlmcs-x86-musl
  1057. export PROGRAM_NAME=../binaries/Linux/intel/musl/vlmcsd-x86-musl
  1058. export MULTI_NAME=../binaries/Linux/intel/musl/vlmcsdmulti-x86-musl
  1059. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1060. make $REUSEOBJFLAGS allmulti
  1061. if [ $? != 0 ]; then
  1062. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1063. exit $?
  1064. fi
  1065. # Linux x86 musl static threads
  1066. export FEATURES=full
  1067. export PROGRAM_NAME=../binaries/Linux/intel/static/vlmcsd-x86-musl-static-threads
  1068. export MULTI_NAME=../binaries/Linux/intel/static/vlmcsdmulti-x86-musl-static-threads
  1069. export CC=/opt/toolchains/i486-musl-gcc-5.3.0-binutils-2.25.1/bin/i486-Hotbird-linux-musl-gcc.br_real
  1070. export CFLAGS="$SMALLCC"
  1071. export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic"
  1072. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1073. export THREADS=1
  1074. export NOPROCFS=0
  1075. export AUXV=1
  1076. make $MAKEFLAGS $PROGRAM_NAME $MULTI_NAME
  1077. if [ $? != 0 ]; then
  1078. echo Error creating $PROGRAM_NAME
  1079. exit $?
  1080. fi
  1081. # Linux x32 glibc
  1082. export FEATURES=full
  1083. export MULTI_NAME=../binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc
  1084. export CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x32-glibc
  1085. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x32-glibc
  1086. export CC=gcc
  1087. export CFLAGS="$SMALLCC"
  1088. export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic"
  1089. export LDFLAGS="-fuse-ld=bfd $SMALLLD -Wl,--hash-style=gnu"
  1090. export THREADS=0
  1091. export NOPROCFS=0
  1092. export AUXV=1
  1093. make DNS_PARSER=OS $MAKEFLAGS allmulti
  1094. if [ $? != 0 ]; then
  1095. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1096. exit $?
  1097. fi
  1098. # Linux x32 glibc threads
  1099. export FEATURES=full
  1100. export PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x32-glibc-threads
  1101. export CC=gcc
  1102. export CFLAGS="$SMALLCC"
  1103. export PLATFORMFLAGS="-flto=16 -fwhole-program -mx32 -march=nocona -mtune=generic"
  1104. export LDFLAGS="-fuse-ld=bfd $SMALLLD -Wl,--hash-style=gnu -lpthread"
  1105. export THREADS=1
  1106. export NOPROCFS=0
  1107. export AUXV=1
  1108. make DNS_PARSER=OS $MAKEFLAGS $PROGRAM_NAME
  1109. if [ $? != 0 ]; then
  1110. echo Error creating $PROGRAM_NAME
  1111. exit $?
  1112. fi
  1113. # Linux armv4 little-endian glibc
  1114. export FEATURES=full
  1115. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-glibc
  1116. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-glibc
  1117. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-glibc
  1118. export CC=/opt/toolchains/armelv5t-glibc-2.23-gcc-6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-gnueabi-gcc
  1119. export CFLAGS="$SMALLCC"
  1120. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4 -marm"
  1121. export LDFLAGS="$SMALLLD -static-libgcc"
  1122. export THREADS=0
  1123. export NOPROCFS=0
  1124. export AUXV=0
  1125. make $MAKEFLAGS DNS_PARSER=internal allmulti
  1126. if [ $? != 0 ]; then
  1127. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1128. exit $?
  1129. fi
  1130. # Linux armv4 little-endian glibc thumb instruction set
  1131. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-glibc-thumb
  1132. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-glibc-thumb
  1133. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-glibc-thumb
  1134. export CC=/opt/toolchains/armelv5t-glibc-2.23-gcc-6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-gnueabi-gcc
  1135. export FEATURES=full
  1136. export CFLAGS="$SMALLCC"
  1137. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4t -mthumb"
  1138. export LDFLAGS="$SMALLLD -static-libgcc"
  1139. export THREADS=0
  1140. make $MAKEFLAGS DNS_PARSER=internal allmulti
  1141. if [ $? != 0 ]; then
  1142. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1143. exit $?
  1144. fi
  1145. # Linux armv5 little-endian glibc thumb instruction set
  1146. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc-thumb
  1147. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc-thumb
  1148. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc-thumb
  1149. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5t -mthumb"
  1150. make $MAKEFLAGS DNS_PARSER=internal allmulti
  1151. if [ $? != 0 ]; then
  1152. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1153. exit $?
  1154. fi
  1155. # Linux armv5 little-endian glibc
  1156. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc
  1157. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc
  1158. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc
  1159. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5 -marm"
  1160. make $MAKEFLAGS DNS_PARSER=internal allmulti
  1161. if [ $? != 0 ]; then
  1162. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1163. exit $?
  1164. fi
  1165. # Linux armv7 little-endian glibc thumb2 instruction set
  1166. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv7el-glibc
  1167. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv7el-glibc
  1168. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv7el-glibc
  1169. export CC=/opt/toolchains/armelv7-cortex-a8-glibc-2.18/usr/bin/arm-linux-gcc
  1170. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb"
  1171. export FEATURES=full
  1172. export CFLAGS="$SMALLCC"
  1173. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1174. export THREADS=0
  1175. make $MAKEFLAGS allmulti
  1176. if [ $? != 0 ]; then
  1177. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1178. exit $?
  1179. fi
  1180. # Linux armv4 little-endian openwrt toolchain
  1181. export PROGRAM_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-openwrt-glibc
  1182. export CLIENT_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-openwrt-glibc
  1183. export MULTI_NAME=../binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-openwrt-glibc
  1184. export CC=/opt/toolchains/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc
  1185. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4"
  1186. export FEATURES=full
  1187. export CFLAGS="$SMALLCC"
  1188. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1189. export THREADS=0
  1190. make $MAKEFLAGS allmulti
  1191. if [ $? != 0 ]; then
  1192. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1193. exit $?
  1194. fi
  1195. # Linux armv7 little-endian openwrt toolchain thumb 2 instruction set
  1196. INSTALLDIR=../binaries/Linux/arm/little-endian/glibc/
  1197. SUFFIX=-armv7el-openwrt-glibc
  1198. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1199. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1200. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1201. export CC=/opt/toolchains/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc
  1202. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb"
  1203. export FEATURES=full
  1204. export CFLAGS="$SMALLCC"
  1205. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1206. export THREADS=0
  1207. make $MAKEFLAGS allmulti
  1208. if [ $? != 0 ]; then
  1209. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1210. exit $?
  1211. fi
  1212. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1213. # Linux armv5 little endian thumb instruction set
  1214. INSTALLDIR=../binaries/Linux/arm/little-endian/static/
  1215. SUFFIX=-armv5el-musl-thumb
  1216. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}-static
  1217. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}-static
  1218. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}-static
  1219. export CC=/opt/toolchains/armelv5t-musl-gcc6.1.0-binutils-2.26/usr/bin/arm-Hotbird-linux-musleabi-gcc
  1220. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1221. export FEATURES=full
  1222. export CFLAGS="$SMALLCC"
  1223. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1224. export THREADS=0
  1225. export NOPROCFS=0
  1226. export AUXV=1
  1227. make $MAKEFLAGS DNS_PARSER=internal allmulti
  1228. if [ $? != 0 ]; then
  1229. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1230. exit $?
  1231. fi
  1232. rm -f ../build/dns_srv.o
  1233. INSTALLDIR=../binaries/Linux/arm/little-endian/musl/
  1234. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1235. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1236. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1237. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1238. make $REUSEOBJFLAGS DNS_PARSER=OS allmulti
  1239. if [ $? != 0 ]; then
  1240. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1241. exit $?
  1242. fi
  1243. # Linux armv5 little-endian uclibc thumb instruction set
  1244. INSTALLDIR=../binaries/Linux/arm/little-endian/uclibc/
  1245. SUFFIX=-armv5el-uclibc-thumb
  1246. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1247. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1248. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1249. export CC=/opt/toolchains/armelv5t-uclibc-0.9.33/usr/bin/arm-linux-gcc
  1250. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv5t -mthumb"
  1251. export FEATURES=full
  1252. export CFLAGS="$SMALLCC"
  1253. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1254. export THREADS=0
  1255. export NOPROCFS=0
  1256. export AUXV=0
  1257. make $MAKEFLAGS allmulti
  1258. if [ $? != 0 ]; then
  1259. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1260. exit $?
  1261. fi
  1262. # Linux armv7 little-endian uclibc thumb 2 instruction set
  1263. INSTALLDIR=../binaries/Linux/arm/little-endian/
  1264. SUFFIX=-armv7el-uclibc
  1265. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1266. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1267. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1268. export CC=/opt/toolchains/armelv7-cortex-a8-uclibc-0.9.33/usr/bin/arm-linux-gcc
  1269. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb"
  1270. export FEATURES=full
  1271. export CFLAGS="$SMALLCC"
  1272. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1273. export THREADS=0
  1274. make $MAKEFLAGS allmulti
  1275. if [ $? != 0 ]; then
  1276. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1277. exit $?
  1278. fi
  1279. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1280. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1281. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1282. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1283. make $REUSEOBJFLAGS allmulti
  1284. if [ $? != 0 ]; then
  1285. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1286. exit $?
  1287. fi
  1288. # Linux armv4 little-endian uclibc openwrt toolchain
  1289. INSTALLDIR=../binaries/Linux/arm/little-endian/uclibc/
  1290. SUFFIX=-armv4el-openwrt-uclibc
  1291. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1292. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1293. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1294. export CC=/opt/toolchains/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1295. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4 -marm"
  1296. export FEATURES=full
  1297. export CFLAGS="$SMALLCC"
  1298. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1299. export THREADS=0
  1300. make $MAKEFLAGS allmulti
  1301. if [ $? != 0 ]; then
  1302. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1303. exit $?
  1304. fi
  1305. ## Linux armv4 little-endian uclibc openwrt toolchain thumb instruction set
  1306. #INSTALLDIR=../binaries/Linux/arm/little-endian/uclibc/
  1307. #SUFFIX=-armv4el-openwrt-uclibc-thumb
  1308. #export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1309. #export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1310. #export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1311. #export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1312. #export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv4t -mthumb"
  1313. #export FEATURES=full
  1314. #export CFLAGS="$SMALLCC"
  1315. #export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1316. #export THREADS=0
  1317. #
  1318. #make $MAKEFLAGS
  1319. #
  1320. #if [ $? != 0 ]; then
  1321. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1322. # exit $?
  1323. #fi
  1324. #
  1325. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1326. #
  1327. #make $REUSEOBJFLAGS $MULTI_NAME
  1328. #
  1329. #if [ $? != 0 ]; then
  1330. # echo Error creating $MULTI_NAME
  1331. # exit $?
  1332. #fi
  1333. # Linux armv7 little-endian uclibc openwrt toolchain thumb 2 instruction set
  1334. INSTALLDIR=../binaries/Linux/arm/little-endian/uclibc/
  1335. SUFFIX=-armv7el-openwrt-uclibc
  1336. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1337. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1338. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1339. export CC=/opt/toolchains/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1340. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv7 -mthumb"
  1341. export FEATURES=full
  1342. export CFLAGS="$SMALLCC"
  1343. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1344. export THREADS=0
  1345. make $MAKEFLAGS allmulti
  1346. if [ $? != 0 ]; then
  1347. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1348. exit $?
  1349. fi
  1350. #Linux armv4 little-endian uclibc
  1351. INSTALLDIR=../binaries/Linux/arm/little-endian/
  1352. SUFFIX=-armv4el-uclibc
  1353. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1354. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1355. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1356. export CC=/root/cross-compiler-armv4l/bin/armv4l-gcc
  1357. export PLATFORMFLAGS="-pipe"
  1358. export FEATURES=full
  1359. export CFLAGS="$SMALLCC"
  1360. export LDFLAGS="-Wl,-z,norelro -fwhole-program"
  1361. export THREADS=0
  1362. export NOPROCFS=1
  1363. make $MAKEFLAGS GETIFADDRS=musl SAFE_MODE=1 allmulti
  1364. if [ $? != 0 ]; then
  1365. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1366. exit $?
  1367. fi
  1368. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1369. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1370. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1371. export LDFLAGS="-Wl,-z,norelro -fwhole-program -static"
  1372. make $REUSEOBJFLAGS GETIFADDRS=musl SAFE_MODE=1 allmulti
  1373. if [ $? != 0 ]; then
  1374. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1375. exit $?
  1376. fi
  1377. # mips1 little-endian with openssl 0.9.8 support dreambox toolchain
  1378. INSTALLDIR=../binaries/Linux/mips/little-endian/glibc/
  1379. SUFFIX=-mips1el-glibc-openssl0.9.8-soft-EXPERIMENTAL
  1380. export CRYPTO=openssl_with_aes_soft
  1381. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1382. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1383. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1384. export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc
  1385. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1386. export FEATURES=full
  1387. export CFLAGS="$SMALLCC"
  1388. export LDFLAGS="$SMALLLD"
  1389. export THREADS=0
  1390. export NOPROCFS=0
  1391. make $MAKEFLAGS allmulti
  1392. if [ $? != 0 ]; then
  1393. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1394. exit $?
  1395. fi
  1396. # mips1 little-endian dreambox toolchain
  1397. INSTALLDIR=../binaries/Linux/mips/little-endian/glibc/
  1398. SUFFIX=-mips1el-glibc
  1399. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1400. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1401. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1402. export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc
  1403. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1404. export FEATURES=full
  1405. export CFLAGS="$SMALLCC"
  1406. export LDFLAGS="$SMALLLD"
  1407. export THREADS=0
  1408. export CRYPTO=internal
  1409. make $MAKEFLAGS allmulti
  1410. if [ $? != 0 ]; then
  1411. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1412. exit $?
  1413. fi
  1414. # Linux mips1 little-endian uclibc
  1415. INSTALLDIR=../binaries/Linux/mips/little-endian/
  1416. SUFFIX=-mips1el-uclibc
  1417. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1418. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1419. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1420. export CC=/root/cross-compiler-mipsel/bin/mipsel-gcc
  1421. export PLATFORMFLAGS="-pipe"
  1422. export FEATURES=full
  1423. export CFLAGS="$SMALLCC"
  1424. export LDFLAGS="-Wl,-z,norelro -fwhole-program"
  1425. export THREADS=0
  1426. export CRYPTO=internal
  1427. export NOPROCFS=1
  1428. make $MAKEFLAGS GETIFADDRS=musl SAFE_MODE=1 allmulti
  1429. if [ $? != 0 ]; then
  1430. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1431. exit $?
  1432. fi
  1433. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1434. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1435. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1436. export LDFLAGS="-Wl,-z,norelro -fwhole-program -static"
  1437. make $REUSEOBJFLAGS GETIFADDRS=musl SAFE_MODE=1 allmulti
  1438. if [ $? != 0 ]; then
  1439. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1440. exit $?
  1441. fi
  1442. # Linux mips16 little endian glibc
  1443. INSTALLDIR=../binaries/Linux/mips/little-endian/glibc/
  1444. SUFFIX=-mips16el-glibc
  1445. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1446. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1447. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1448. export CC=/opt/toolchains/mips32el-mips16-glibc-2.18/usr/bin/mipsel-linux-gcc
  1449. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16"
  1450. export FEATURES=full
  1451. export CFLAGS="$SMALLCC"
  1452. export LDFLAGS="$SMALLLD"
  1453. export THREADS=0
  1454. export CRYPTO=internal
  1455. export NOPROCFS=0
  1456. make $MAKEFLAGS allmulti
  1457. if [ $? != 0 ]; then
  1458. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1459. exit $?
  1460. fi
  1461. # Linux mips16 little-endian uclibc
  1462. INSTALLDIR=../binaries/Linux/mips/little-endian/uclibc/
  1463. SUFFIX=-mips16el-uclibc
  1464. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1465. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1466. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1467. export CC=/opt/toolchains/mips32el-mips16-uclibc-0.9.33/bin/mipsel-linux-gcc
  1468. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32 -mips16"
  1469. export FEATURES=full
  1470. export CFLAGS="$SMALLCC"
  1471. export LDFLAGS="$SMALLLD"
  1472. export THREADS=0
  1473. export CRYPTO=internal
  1474. make $MAKEFLAGS allmulti
  1475. if [ $? != 0 ]; then
  1476. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1477. exit $?
  1478. fi
  1479. #Linux PowerPC uclibc OpenWRT toolchain
  1480. INSTALLDIR=../binaries/Linux/ppc/big-endian/
  1481. SUFFIX=-ppc-uclibc
  1482. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1483. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1484. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1485. #export CC=~/openwrt/staging_dir/toolchain-powerpc_405_gcc-4.8-linaro_uClibc-0.9.33.2/bin/powerpc-openwrt-linux-gcc
  1486. export CC=/opt/toolchains/ppc-uclibc0.9.33.2-gcc-4.9.1-binutils2.24/bin/powerpc-linux-gcc
  1487. export PLATFORMFLAGS="-flto=16 -fwhole-program -L/root/cross-compiler-powerpc/lib -L/root/cross-compiler-powerpc/usr/lib"
  1488. #export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1489. export FEATURES=full
  1490. export CFLAGS="$SMALLCC"
  1491. export LDFLAGS="$SMALLLD -static-libgcc"
  1492. export THREADS=0
  1493. export CRYPTO=internal
  1494. make $MAKEFLAGS GETIFADDRS=musl allmulti
  1495. if [ $? != 0 ]; then
  1496. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1497. exit $?
  1498. fi
  1499. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1500. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1501. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1502. export LDFLAGS="$SMALLLD -static"
  1503. make $REUSEOBJFLAGS GETIFADDRS=musl allmulti
  1504. if [ $? != 0 ]; then
  1505. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1506. exit $?
  1507. fi
  1508. #Linux PowerPC musl 1.15 toolchain
  1509. INSTALLDIR=../binaries/Linux/ppc/big-endian/
  1510. SUFFIX=-ppc-musl
  1511. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  1512. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  1513. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  1514. export CC=/opt/toolchains/ppc-musl-1.15-gcc-6.2.0-binutils-2.27/usr/bin/powerpc-Hotbird64-linux-musl-gcc
  1515. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1516. export FEATURES=full
  1517. export CFLAGS="$SMALLCC"
  1518. export LDFLAGS="$SMALLLD -static-libgcc"
  1519. export THREADS=0
  1520. export CRYPTO=internal
  1521. make $MAKEFLAGS AUXV=1 DNS_PARSER=OS allmulti
  1522. if [ $? != 0 ]; then
  1523. echo Error creating $MULTI_NAME, $CLIENT_NAME and/or $PROGRAM_NAME
  1524. exit $?
  1525. fi
  1526. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1527. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1528. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1529. export LDFLAGS="$SMALLLD -static"
  1530. make $REUSEOBJFLAGS AUXV=1 DNS_PARSER=OS allmulti
  1531. if [ $? != 0 ]; then
  1532. echo Error creating $MULTI_NAME, $CLIENT_NAME and/or $PROGRAM_NAME
  1533. exit $?
  1534. fi
  1535. #Fritzbox 7170 (mips32r2 little-endian) device specific, May or may not run on other devices
  1536. INSTALLDIR=../binaries/Linux/mips/little-endian/
  1537. SUFFIX=-mips32r2el-Fritzbox-71xx-72xx-uclibc
  1538. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1539. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1540. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1541. export CC=/opt/simplebuild/toolchains/fritz71xx/bin/mipsel-linux-uclibc-gcc
  1542. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=4kec -mtune=4kec"
  1543. export FEATURES=full
  1544. export CFLAGS="$SMALLCC"
  1545. export LDFLAGS="$SMALLLD"
  1546. export THREADS=0
  1547. export CRYPTO=internal
  1548. make NOLRESOLV=1 GETIFADDRS=musl $MAKEFLAGS allmulti
  1549. if [ $? != 0 ]; then
  1550. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1551. exit $?
  1552. fi
  1553. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1554. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1555. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1556. export LDFLAGS="$SMALLLD -static"
  1557. make NOLRESOLV=1 GETIFADDRS=musl $REUSEOBJFLAGS allmulti
  1558. if [ $? != 0 ]; then
  1559. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1560. exit $?
  1561. fi
  1562. #Fritzbox 7370 (mips32r2 big-endian) device specific, May or may not run on other devices
  1563. INSTALLDIR=../binaries/Linux/mips/big-endian/
  1564. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc
  1565. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1566. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1567. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1568. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1569. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1570. export FEATURES=full
  1571. export CFLAGS="$SMALLCC"
  1572. export LDFLAGS="$SMALLLD"
  1573. export THREADS=0
  1574. export CRYPTO=internal
  1575. make NOLRESOLV=1 $MAKEFLAGS allmulti
  1576. if [ $? != 0 ]; then
  1577. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1578. exit $?
  1579. fi
  1580. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1581. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1582. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1583. export LDFLAGS="$SMALLLD -static"
  1584. make NOLRESOLV=1 $REUSEOBJFLAGS allmulti
  1585. if [ $? != 0 ]; then
  1586. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1587. exit $?
  1588. fi
  1589. #Fritzbox 7370 (mips32r2 big-endian) device specific with _PEDANTIC, May or may not run on other devices
  1590. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1591. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-pedantic
  1592. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1593. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1594. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1595. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1596. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1597. export FEATURES=full
  1598. export CFLAGS="$SMALLCC -D_PEDANTIC"
  1599. export LDFLAGS="$SMALLLD"
  1600. export THREADS=0
  1601. export CRYPTO=internal
  1602. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1603. if [ $? != 0 ]; then
  1604. echo Error creating $PROGRAM_NAME
  1605. exit $?
  1606. fi
  1607. #Fritzbox 7370 (mips32r2 big-endian) device specific with simple sockets and some features disabled, May or may not run on other devices
  1608. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1609. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-simple
  1610. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1611. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1612. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1613. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1614. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1615. export FEATURES=full
  1616. export CFLAGS="$SMALLCC -DNO_USER_SWITCH -DSIMPLE_SOCKETS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_USER_SWITCH"
  1617. export LDFLAGS="$SMALLLD"
  1618. export THREADS=0
  1619. export CRYPTO=internal
  1620. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1621. if [ $? != 0 ]; then
  1622. echo Error creating $PROGRAM_NAME
  1623. exit $?
  1624. fi
  1625. #Fritzbox 7370 (mips32r2 big-endian) device specific inetd start only, May or may not run on other devices
  1626. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1627. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-inetd
  1628. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1629. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1630. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1631. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1632. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1633. export FEATURES=inetd
  1634. export CFLAGS="$SMALLCC"
  1635. export LDFLAGS="$SMALLLD"
  1636. export THREADS=0
  1637. export CRYPTO=internal
  1638. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1639. if [ $? != 0 ]; then
  1640. echo Error creating $PROGRAM_NAME
  1641. exit $?
  1642. fi
  1643. #Fritzbox 7370 (mips32r2 big-endian) device specific with pthreads, May or may not run on other devices
  1644. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1645. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-threads
  1646. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1647. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1648. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1649. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1650. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1651. export FEATURES=full
  1652. export CFLAGS="$SMALLCC"
  1653. export LDFLAGS="$SMALLLD -lpthread"
  1654. export THREADS=1
  1655. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1656. if [ $? != 0 ]; then
  1657. echo Error creating $PROGRAM_NAME
  1658. exit $?
  1659. fi
  1660. #Fritzbox 7370 (mips32r2 big-endian) device specific with OpenSSL support, May or may not run on other devices
  1661. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1662. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-openssl0.9.8-soft-EXPERIMENTAL
  1663. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1664. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1665. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1666. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1667. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1668. export FEATURES=full
  1669. export CFLAGS="$SMALLCC"
  1670. export LDFLAGS="$SMALLLD"
  1671. export THREADS=0
  1672. export CRYPTO=openssl_with_aes_soft
  1673. export OPENSSL_HMAC=0
  1674. make NOLRESOLV=1 $MAKEFLAGS allmulti
  1675. if [ $? != 0 ]; then
  1676. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1677. exit $?
  1678. fi
  1679. unset OPENSSL_HMAC
  1680. #make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcs-mips32-uclibc CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/mips/big-endian/uclibc/vlmcsd-mips32-uclibc CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc && \
  1681. # Linux mips32 big-endian uclibc
  1682. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1683. SUFFIX=-mips32-uclibc
  1684. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1685. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1686. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1687. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  1688. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32"
  1689. export FEATURES=full
  1690. export CFLAGS="$SMALLCC"
  1691. export LDFLAGS="$SMALLLD"
  1692. export THREADS=0
  1693. export CRYPTO=internal
  1694. make $MAKEFLAGS allmulti
  1695. if [ $? != 0 ]; then
  1696. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1697. exit $?
  1698. fi
  1699. # Linux mips16 big-endian uclibc
  1700. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1701. SUFFIX=-mips16-uclibc
  1702. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1703. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1704. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1705. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  1706. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  1707. export FEATURES=full
  1708. export CFLAGS="$SMALLCC"
  1709. export LDFLAGS="$SMALLLD"
  1710. export THREADS=0
  1711. export CRYPTO=internal
  1712. make $MAKEFLAGS allmulti
  1713. if [ $? != 0 ]; then
  1714. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1715. exit $?
  1716. fi
  1717. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips16 big-endian) device specific, May or may not run on other devices
  1718. INSTALLDIR=../binaries/Linux/mips/big-endian/
  1719. SUFFIX=-mips16-openwrt-atheros-ar7xxx-ar9xxx-uclibc
  1720. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1721. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1722. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1723. export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc
  1724. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mips16"
  1725. export FEATURES=full
  1726. export CFLAGS="$SMALLCC"
  1727. export LDFLAGS="-ldl -lpthread $SMALLLD"
  1728. export THREADS=0
  1729. export CRYPTO=internal
  1730. make $MAKEFLAGS allmulti
  1731. if [ $? != 0 ]; then
  1732. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1733. exit $?
  1734. fi
  1735. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips16 big-endian) device specific, May or may not run on other devices
  1736. INSTALLDIR=../binaries/Linux/mips/big-endian/
  1737. SUFFIX=-mips16-openwrt-atheros-ar7xxx-ar9xxx-musl
  1738. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  1739. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  1740. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  1741. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_musl-1.1.6-mips16/bin/mips-openwrt-linux-musl-gcc-4.9.2
  1742. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc -mips16"
  1743. export FEATURES=full
  1744. export CFLAGS="$SMALLCC"
  1745. export LDFLAGS="$SMALLLD"
  1746. export THREADS=0
  1747. export CRYPTO=internal
  1748. make $MAKEFLAGS allmulti
  1749. if [ $? != 0 ]; then
  1750. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1751. exit $?
  1752. fi
  1753. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1754. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1755. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1756. export LDFLAGS="$LDFLAGS -static"
  1757. make $REUSEOBJFLAGS allmulti
  1758. if [ $? != 0 ]; then
  1759. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1760. exit $?
  1761. fi
  1762. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips32r2 big-endian) device specific, May or may not run on other devices
  1763. INSTALLDIR=../binaries/Linux/mips/big-endian/
  1764. SUFFIX=-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc
  1765. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1766. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1767. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1768. export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc
  1769. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=24kc"
  1770. export FEATURES=full
  1771. export CFLAGS="$SMALLCC -DNO_LIMIT"
  1772. export LDFLAGS="-ldl -lpthread $SMALLLD"
  1773. export THREADS=0
  1774. export CRYPTO=internal
  1775. make $MAKEFLAGS allmulti
  1776. if [ $? != 0 ]; then
  1777. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1778. exit $?
  1779. fi
  1780. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1781. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1782. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1783. export LDFLAGS="$LDFLAGS -static"
  1784. make $REUSEOBJFLAGS allmulti
  1785. if [ $? != 0 ]; then
  1786. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1787. exit $?
  1788. fi
  1789. # Linux mips16 big-endian uclibc threads
  1790. INSTALLDIR=../binaries/Linux/mips/big-endian/uclibc/
  1791. SUFFIX=-mips16-uclibc-threads
  1792. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1793. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1794. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1795. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  1796. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  1797. export FEATURES=full
  1798. export CFLAGS="$SMALLCC"
  1799. export LDFLAGS="$SMALLLD -lpthread"
  1800. export THREADS=1
  1801. export CRYPTO=internal
  1802. make $MAKEFLAGS $PROGRAM_NAME
  1803. if [ $? != 0 ]; then
  1804. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1805. exit $?
  1806. fi
  1807. # Linux mips32 big-endian glibc
  1808. INSTALLDIR=../binaries/Linux/mips/big-endian/glibc/
  1809. SUFFIX=-mips32-glibc
  1810. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1811. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1812. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1813. export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc
  1814. export PLATFORMFLAGS="-flto=16 -fwhole-program"
  1815. export FEATURES=full
  1816. export CFLAGS="$SMALLCC"
  1817. export LDFLAGS="$SMALLLD"
  1818. export THREADS=0
  1819. export CRYPTO=internal
  1820. make $MAKEFLAGS allmulti
  1821. if [ $? != 0 ]; then
  1822. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1823. exit $?
  1824. fi
  1825. # Linux mips16 big-endian glibc
  1826. INSTALLDIR=../binaries/Linux/mips/big-endian/glibc/
  1827. SUFFIX=-mips16-glibc
  1828. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1829. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1830. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1831. export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc
  1832. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  1833. export FEATURES=full
  1834. export CFLAGS="$SMALLCC"
  1835. export LDFLAGS="$SMALLLD"
  1836. export THREADS=0
  1837. export CRYPTO=internal
  1838. make $MAKEFLAGS allmulti
  1839. if [ $? != 0 ]; then
  1840. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1841. exit $?
  1842. fi
  1843. #Linux mips32 big-endian musl
  1844. INSTALLDIR=../binaries/Linux/mips/big-endian/
  1845. SUFFIX=-mips32-musl
  1846. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  1847. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  1848. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  1849. export CC=/opt/toolchains/mips32eb-musl/usr/bin/mips-linux-cc
  1850. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32"
  1851. export FEATURES=full
  1852. export CFLAGS="$SMALLCC"
  1853. export LDFLAGS="$SMALLLD"
  1854. export THREADS=0
  1855. export CRYPTO=internal
  1856. export NOPROCFS=0
  1857. export AUXV=1
  1858. make $MAKEFLAGS allmulti
  1859. if [ $? != 0 ]; then
  1860. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1861. exit $?
  1862. fi
  1863. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1864. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1865. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1866. export LDFLAGS="$SMALLLD -static"
  1867. make $REUSEOBJFLAGS allmulti
  1868. if [ $? != 0 ]; then
  1869. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1870. exit $?
  1871. fi
  1872. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1873. #Linux mips16 little-endian musl soft-float
  1874. INSTALLDIR=../binaries/Linux/mips/little-endian/
  1875. SUFFIX=-mips16el-musl
  1876. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  1877. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  1878. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  1879. export CC=/opt/toolchains/mips32el-mips16-musl/usr/bin/mipsel-linux-cc
  1880. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  1881. export FEATURES=full
  1882. export CFLAGS="$SMALLCC"
  1883. export LDFLAGS="$SMALLLD"
  1884. export THREADS=0
  1885. export CRYPTO=internal
  1886. export NOPROCFS=0
  1887. export AUXV=1
  1888. make $MAKEFLAGS allmulti
  1889. if [ $? != 0 ]; then
  1890. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1891. exit $?
  1892. fi
  1893. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1894. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1895. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1896. export LDFLAGS="$SMALLLD -static"
  1897. make $REUSEOBJFLAGS allmulti
  1898. if [ $? != 0 ]; then
  1899. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1900. exit $?
  1901. fi
  1902. #Linux mips16 little-endian musl fpu
  1903. INSTALLDIR=../binaries/Linux/mips/little-endian/
  1904. SUFFIX=-mips16el-musl-fpu
  1905. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1906. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1907. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1908. export CC=/opt/toolchains/mips32el-mips16-musl-fpu/usr/bin/mipsel-linux-cc
  1909. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips16"
  1910. export FEATURES=full
  1911. export CFLAGS="$SMALLCC"
  1912. export LDFLAGS="$SMALLLD -static"
  1913. export THREADS=0
  1914. export CRYPTO=internal
  1915. export NOPROCFS=0
  1916. export AUXV=1
  1917. make $MAKEFLAGS allmulti
  1918. if [ $? != 0 ]; then
  1919. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1920. exit $?
  1921. fi
  1922. # Linux x86 uclibc
  1923. INSTALLDIR=../binaries/Linux/intel/uclibc/
  1924. SUFFIX=-x86-uclibc
  1925. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1926. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1927. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1928. export CC=/opt/toolchains/i486-uclibc-0.9.33/bin/i486-linux-gcc
  1929. export PLATFORMFLAGS="-flto=16 -fwhole-program -m32 -march=i486 -mtune=generic"
  1930. export FEATURES=full
  1931. export CFLAGS="$SMALLCC"
  1932. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1933. export THREADS=0
  1934. export CRYPTO=internal
  1935. export NOPROCFS=0
  1936. export AUXV=0
  1937. make $MAKEFLAGS allmulti
  1938. if [ $? != 0 ]; then
  1939. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1940. exit $?
  1941. fi
  1942. #make $MAKEFLAGS CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc LDFLAGS="-Wl,--hash-style=gnu" CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \
  1943. # Linux x64 glibc
  1944. INSTALLDIR=../binaries/Linux/intel/glibc/
  1945. SUFFIX=-x64-glibc
  1946. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1947. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1948. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1949. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  1950. export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic"
  1951. export FEATURES=full
  1952. export CFLAGS="$SMALLCC"
  1953. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1954. export THREADS=0
  1955. export CRYPTO=internal
  1956. make $MAKEFLAGS allmulti
  1957. if [ $? != 0 ]; then
  1958. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1959. exit $?
  1960. fi
  1961. #Linux Sparc32v7 glibc
  1962. INSTALLDIR=../binaries/Linux/sparc/glibc/
  1963. SUFFIX=-sparc32v7-glibc
  1964. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1965. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1966. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1967. export CC=/opt/toolchains/sparc32-glibc-gcc-4.7.4/bin/sparc-buildroot-linux-gnu-gcc
  1968. export PLATFORMFLAGS="-flto=16 -fwhole-program -mcpu=v7"
  1969. export FEATURES=full
  1970. export CFLAGS="$SMALLCC"
  1971. export LDFLAGS="$SMALLLD"
  1972. export THREADS=0
  1973. export CRYPTO=internal
  1974. make $MAKEFLAGS allmulti
  1975. if [ $? != 0 ]; then
  1976. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1977. exit $?
  1978. fi
  1979. #make $MAKEFLAGS ../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-threads THREADS=1 LDFLAGS="-Wl,--hash-style=gnu -lpthread" CFLAGS="-pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \
  1980. # Linux x64 glibc with threads
  1981. INSTALLDIR=../binaries/Linux/intel/glibc/
  1982. SUFFIX=-x64-glibc-threads
  1983. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1984. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1985. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1986. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  1987. export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic"
  1988. export FEATURES=full
  1989. export CFLAGS="$SMALLCC"
  1990. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread"
  1991. export THREADS=1
  1992. export CRYPTO=internal
  1993. make $MAKEFLAGS $PROGRAM_NAME
  1994. if [ $? != 0 ]; then
  1995. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1996. exit $?
  1997. fi
  1998. #make $MAKEFLAGS LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/glibc/vlmcs-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CRYPTO=openssl_with_aes CFLAGS="$SMALL -pipe -flto=16 -fwhole-program" PROGRAM_NAME=../binaries/Linux/intel/glibc/vlmcsd-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic" && \
  1999. # Linux x64 glibc with OpenSSL 1.0.x support
  2000. INSTALLDIR=../binaries/Linux/intel/glibc/
  2001. SUFFIX=-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL
  2002. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2003. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2004. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2005. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  2006. export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic"
  2007. export FEATURES=full
  2008. export CFLAGS="$SMALLCC"
  2009. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2010. export THREADS=0
  2011. export CRYPTO=openssl_with_aes
  2012. make $MAKEFLAGS allmulti
  2013. if [ $? != 0 ]; then
  2014. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2015. exit $?
  2016. fi
  2017. # Linux x64 musl
  2018. INSTALLDIR=../binaries/Linux/intel/
  2019. SUFFIX=-x64-musl
  2020. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  2021. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  2022. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2023. #export CC=/opt/toolchains/x86_64_gcc-4.9-linaro_musl-1.1.6/bin/x86_64-openwrt-linux-musl-gcc-4.9.2
  2024. export CC=/opt/toolchains/x86_64-musl-gcc-5.3.0-binutils-2.25.1/bin/x86_64-Hotbird-linux-musl-gcc.br_real
  2025. export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic"
  2026. export FEATURES=full
  2027. export CFLAGS="$SMALLCC"
  2028. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2029. export THREADS=0
  2030. export CRYPTO=internal
  2031. export NOPROCFS=0
  2032. export AUXV=1
  2033. make $MAKEFLAGS allmulti
  2034. if [ $? != 0 ]; then
  2035. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2036. exit $?
  2037. fi
  2038. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2039. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2040. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2041. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  2042. make $REUSEOBJFLAGS allmulti
  2043. if [ $? != 0 ]; then
  2044. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2045. exit $?
  2046. fi
  2047. #make $MAKEFLAGS CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=../binaries/Linux/intel/uclibc/vlmcs-x64-uclibc PROGRAM_NAME=../binaries/Linux/intel/uclibc/vlmcsd-x64-uclibc CFLAGS="$SMALL -flto=16 -fwhole-program -pipe -fno-stack-protector" && \
  2048. # Linux x64 uclibc
  2049. INSTALLDIR=../binaries/Linux/intel/uclibc/
  2050. SUFFIX=-x64-uclibc
  2051. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2052. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2053. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2054. export CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc
  2055. export PLATFORMFLAGS="-flto=16 -fwhole-program -m64 -mtune=generic"
  2056. export FEATURES=full
  2057. export CFLAGS="$SMALLCC"
  2058. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2059. export THREADS=0
  2060. export CRYPTO=internal
  2061. export NOPROCFS=0
  2062. export AUXV=0
  2063. make $MAKEFLAGS allmulti
  2064. if [ $? != 0 ]; then
  2065. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2066. exit $?
  2067. fi
  2068. # mips32 little-endian DD-WRT toolchain with gcc 4.1.0
  2069. export CC=/opt/simplebuild/toolchains/ddwrt410/bin/mipsel-linux-gcc
  2070. INSTALLDIR=../binaries/Linux/mips/little-endian/
  2071. SUFFIX=-mips32el-ddwrt-gcc$($CC -dumpversion)-uclibc
  2072. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2073. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2074. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2075. export PLATFORMFLAGS="-pipe -mips32"
  2076. export FEATURES=full
  2077. export CFLAGS="$SMALLCC"
  2078. export LDFLAGS="-fwhole-program"
  2079. export THREADS=0
  2080. export CRYPTO=internal
  2081. make $MAKEFLAGS GETIFADDRS=musl CAT=2 SAFE_MODE=1 $PROGRAM_NAME $MULTI_NAME $CLIENT_NAME
  2082. if [ $? != 0 ]; then
  2083. echo Error creating $PROGRAM_NAME, $MULTI_NAME and/or $CLIENT_NAME
  2084. exit $?
  2085. fi
  2086. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2087. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2088. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2089. export LDFLAGS="-fwhole-program -static"
  2090. make $REUSEOBJFLAGS GETIFADDRS=musl CAT=2 SAFE_MODE=1 $PROGRAM_NAME $MULTI_NAME $CLIENT_NAME
  2091. if [ $? != 0 ]; then
  2092. echo Error creating $PROGRAM_NAME, $MULTI_NAME and/or $CLIENT_NAME
  2093. exit $?
  2094. fi
  2095. #Linux mips32 little-endian uclibc
  2096. INSTALLDIR=../binaries/Linux/mips/little-endian/
  2097. SUFFIX=-mips32el-uclibc
  2098. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2099. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2100. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2101. export CC=/opt/toolchains/mips32el-uclibc-0.9.33/bin/mipsel-linux-gcc
  2102. export PLATFORMFLAGS="-flto=16 -fwhole-program -mips32"
  2103. export FEATURES=full
  2104. export CFLAGS="$SMALLCC"
  2105. export LDFLAGS="$SMALLLD"
  2106. export THREADS=0
  2107. export CRYPTO=internal
  2108. make $MAKEFLAGS allmulti
  2109. if [ $? != 0 ]; then
  2110. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2111. exit $?
  2112. fi
  2113. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2114. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2115. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2116. export LDFLAGS="$SMALLLD -static"
  2117. make $REUSEOBJFLAGS allmulti
  2118. if [ $? != 0 ]; then
  2119. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2120. exit $?
  2121. fi
  2122. #Linux armv6 hard-float little-endian. Used on Raspberry Pi with Raspbian.
  2123. #The hard-float ABI cannot be combined with thumb.
  2124. #You may wish to use armv5el-thumb instead because the binary is smaller
  2125. INSTALLDIR=../binaries/Linux/arm/little-endian/glibc/
  2126. SUFFIX=-armv6hf-Raspberry-glibc
  2127. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2128. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2129. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2130. export CC=/opt/toolchains/armhfv6-glibc-2.19/bin/arm-linux-gcc
  2131. export PLATFORMFLAGS="-flto=16 -fwhole-program -march=armv6zk -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s"
  2132. export FEATURES=full
  2133. export CFLAGS="$SMALLCC"
  2134. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2135. export THREADS=0
  2136. export CRYPTO=internal
  2137. make $MAKEFLAGS allmulti
  2138. if [ $? != 0 ]; then
  2139. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2140. exit $?
  2141. fi
  2142. # Linux arm big-endian uclibc
  2143. INSTALLDIR=../binaries/Linux/arm/big-endian/
  2144. SUFFIX=-armeb-nslu2-uclibc
  2145. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2146. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2147. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2148. export CC=/opt/simplebuild/toolchains/nslu2open/bin/armeb-linux-uclibc-gcc
  2149. export PLATFORMFLAGS="-pipe"
  2150. export FEATURES=full
  2151. export CFLAGS="$SMALLCC"
  2152. export LDFLAGS="-Wl,-z,norelo"
  2153. export THREADS=0
  2154. make $MAKEFLAGS GETIFADDRS=musl SAFE_MODE=1 CAT=2 $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  2155. if [ $? != 0 ]; then
  2156. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  2157. exit $?
  2158. fi
  2159. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2160. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2161. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2162. export LDFLAGS="-Wl,-z,norelo -static"
  2163. make $REUSEOBJFLAGS GETIFADDRS=musl SAFE_MODE=1 CAT=2 $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  2164. if [ $? != 0 ]; then
  2165. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  2166. exit $?
  2167. fi
  2168. # Strip off unnecessary stuff from ../binaries
  2169. #find ../binaries -xdev -name 'vlmcs*' -exec /opt/toolchains/mips32el-mips16-glibc-2.18/usr/bin/mipsel-linux-strip -s --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag {} \; 2>/dev/null
  2170. #find ../binaries -xdev -name 'vlmcs*' -exec strip -s --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag {} \; 2>/dev/null
  2171. find ../binaries -xdev -name 'vlmcs*' ! -name '*-NetBSD-*' ! -name '*-Windows-*' ! -name '*-cygwin-*' ! -name '*-MacOSX-*' ! -name '*-iOS-*' -exec sstrip -z {} \;
  2172. cd ..
  2173. make alldocs
  2174. rm build/*.o
  2175. #cp -p ../binaries/Linux/intel/glibc/vlmcs-x32-glibc /usr/local/bin/vlmcs
  2176. if [ `lsb_release -is` == "Debian" ]; then
  2177. cp -pf binaries/Linux/intel/glibc/vlmcsdmulti-x86-glibc /usr/local/sbin/vlmcsdmulti
  2178. else
  2179. cp -pf binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc /usr/local/sbin/vlmcsdmulti
  2180. fi
  2181. ln -s vlmcsdmulti /usr/local/sbin/vlmcsd 2>/dev/null
  2182. ln -s ../sbin/vlmcsdmulti /usr/local/bin/vlmcs 2>/dev/null
  2183. mkdir -p /usr/local/man/man1 2>/dev/null
  2184. mkdir -p /usr/local/man/man5 2>/dev/null
  2185. mkdir -p /usr/local/man/man8 2>/dev/null
  2186. mkdir -p /usr/local/man/man7 2>/dev/null
  2187. cp -a man/vlmcs.1 man/vlmcsdmulti.1 /usr/local/man/man1/
  2188. cp -a man/vlmcsd-floppy.7 man/vlmcsd.7 /usr/local/man/man7/
  2189. cp -a man/vlmcsd.8 /usr/local/man/man8/
  2190. cp -a man/vlmcsd.ini.5 /usr/local/man/man5/
  2191. pbzip2 -f -9 /usr/local/man/man7/vlmcsd-floppy.7 /usr/local/man/man5/vlmcsd.ini.5 /usr/local/man/man1/vlmcs.1 /usr/local/man/man1/vlmcsdmulti.1 /usr/local/man/man7/vlmcsd.7 /usr/local/man/man8/vlmcsd.8
  2192. #pbzip2 -f /usr/local/man/man7/vlmcsd.7
  2193. #pbzip2 -f /usr/local/man/man8/vlmcsd.8
  2194. mandb >/dev/null 2>&1