BUILD.conf 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483
  1. #!/bin/bash
  2. #### INSTAL PARAMS ####
  3. ARCH=amd64
  4. ### DIRS ###
  5. BASEDIR=${_BUILD_DIR}
  6. INC_DIR=${BASEDIR}/sys/include
  7. INC_ARCH=${BASEDIR}/${ARCH}/include
  8. LIB_DIR=${BASEDIR}/${ARCH}/lib
  9. SRC_DIR=${BASEDIR}/sys/src
  10. UTIL_DIR=${_BUILD_DIR}/util
  11. CMD_DIR=${SRC_DIR}/cmd
  12. KRL_DIR=${SRC_DIR}/9/k10
  13. TEST_DIR=${SRC_DIR}/test
  14. ### COMPILER ###
  15. CC=gcc
  16. CFLAGS_DEBUG="-g"
  17. CFLAGS_LIB="-O0 -static -fplan9-extensions -ffreestanding -fno-builtin -Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized -I${INC_ARCH} -I${INC_DIR}"
  18. CFLAGS_KLIB="-mcmodel=kernel -O0 -fplan9-extensions -ffreestanding -fno-builtin -Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized -I${INC_ARCH} -I${INC_DIR}"
  19. CFLAGS_CMD="-mcmodel=small -O0 -fplan9-extensions -ffreestanding -fno-builtin -Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized -I${INC_ARCH} -I${INC_DIR}"
  20. LDFLAGS=-L$LIB_DIR
  21. AR=ar
  22. RANLIB=ranlib
  23. LD=ld
  24. LEX=lex
  25. PARSER_GEN=yacc
  26. COLLECT=/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2
  27. COLLECTFLAGS="-plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper --sysroot=/ --build-id -m elf_x86_64 --hash-style=gnu"
  28. AWK=awk
  29. XD=xxd
  30. NM=nm
  31. ### KERNEL ###
  32. DATE=$(date +%s)
  33. EXTKERNDATE="-DKERNDATE=${DATE}"
  34. KERNEL_CONF="k8cpu"
  35. KERNEL_SOURCE="entry.S *.c ../386/*.c ../ip/*.c ../port/*.c l64v.S l64fpu.S cpuidamd64.S l64acidt.S l64idt.S l64vsyscall.S "
  36. KERNEL_CFLAGS="-mcmodel=kernel -O0 -static -fplan9-extensions -ffreestanding -fno-builtin ${EXTKERNDATE}"
  37. KERNEL_CFLAGS_DEBUG="-g -fvar-tracking -fvar-tracking-assignments"
  38. KERNEL_WARNFLAGS="-Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized"
  39. KERNEL_UCFLAGS="-O0 -static -fplan9-extensions -ffreestanding -fno-builtin"
  40. KERNEL_GLOBIGNORE=*devcmd.c:*devcec.c:*devcap.c:*sdaoe.c:ratrace.c:*doauthenticate.c:*getpasswd.c:*nopsession.c:*archk8.c:*rdb.c:*etherbcm.c:*devprobe.c:*tcklock.c:*sd.c:*ssl.c:*tls.c:*proc-OLD.c:*proc-SMP.c
  41. KERNEL_LDFLAGS="-z max-page-size=0x1000 -nostdlib -g"
  42. KERNEL_OBJECT=9k
  43. ### Libraries ###
  44. BUILD_LIBS="lib9p libString libauth libauthsrv libavl libbin libbio libcomplete libcontrol libdisk libdraw libflate libframe libgeometry libhtml libhttpd\
  45. liblex libmemdraw libmemlayer libndb libplumb libregexp libstdio libsunrpc libthread libventi libc libmp libip"
  46. BUILD_KLIBS="libc libip libdraw"
  47. ### CMD ###
  48. BUILD_CMD="rc bind mount cat cp echo ls ipconfig ps mkdir pwd chmod rio date dd vga ping telnet dhcpclient srv testalarm"
  49. ### functions ###
  50. test_hello()
  51. {
  52. BUILD_IN="hello.c"
  53. BUILD_OUT="hello"
  54. CLEAN_COM="rm -f *.o"
  55. LIBS_TO_LINK="stdio c"
  56. LDFLAGS_EXTRA="-static -e_main"
  57. }
  58. test_to_fork()
  59. {
  60. BUILD_IN="to_fork.c"
  61. BUILD_OUT="to_fork"
  62. CLEAN_COM="rm -f *.o"
  63. LIBS_TO_LINK="stdio c"
  64. LDFLAGS_EXTRA="-static -e_main"
  65. }
  66. test_saymyname()
  67. {
  68. BUILD_IN="say.c"
  69. BUILD_OUT="say"
  70. CLEAN_COM="rm -f *.o"
  71. LIBS_TO_LINK="stdio c"
  72. LDFLAGS_EXTRA="-static -e_main"
  73. }
  74. cmd_dd()
  75. {
  76. BUILD_IN="dd.c"
  77. BUILD_OUT="dd.elf.out"
  78. CLEAN_COM="rm -f *.o"
  79. LIBS_TO_LINK="libc"
  80. LDFLAGS_EXTRA="-static -e_main"
  81. }
  82. cmd_date()
  83. {
  84. BUILD_IN="date.c"
  85. BUILD_OUT="date.elf.out"
  86. CLEAN_COM="rm -f *.o"
  87. LIBS_TO_LINK="libc"
  88. LDFLAGS_EXTRA="-static -e_main"
  89. }
  90. cmd_chmod()
  91. {
  92. BUILD_IN="chmod.c"
  93. BUILD_OUT="chmod.elf.out"
  94. CLEAN_COM="rm -f *.o"
  95. LIBS_TO_LINK="libc"
  96. LDFLAGS_EXTRA="-static -e_main"
  97. }
  98. cmd_pwd()
  99. {
  100. BUILD_IN="pwd.c"
  101. BUILD_OUT="pwd.elf.out"
  102. CLEAN_COM="rm -f *.o"
  103. LIBS_TO_LINK="libc"
  104. LDFLAGS_EXTRA="-static -e_main"
  105. }
  106. cmd_mkdir()
  107. {
  108. BUILD_IN="mkdir.c"
  109. BUILD_OUT="mkdir.elf.out"
  110. CLEAN_COM="rm -f *.o"
  111. LIBS_TO_LINK="libc"
  112. LDFLAGS_EXTRA="-static -e_main"
  113. }
  114. cmd_rio()
  115. {
  116. BUILD_IN="data.c fsys.c rio.c scrl.c time.c util.c wctl.c wind.c xfid.c"
  117. BUILD_OUT="rio.elf.out"
  118. CLEAN_COM="rm -f *.o"
  119. LIBS_TO_LINK="libcomplete libframe libdraw libthread libplumb libc"
  120. LDFLAGS_EXTRA="-static -e_main"
  121. }
  122. cmd_vga()
  123. {
  124. BUILD_DIR=${CMD_DIR}/aux/vga
  125. BUILD_IN="3dfx.c bt485.c ct65540.c error.c i81x.c ics534x.c mach64xx.c neomagic.c radeon.c s3928.c sc15025.c trio64.c tvp3026.c vga.c vision968.c \
  126. ark2000pv.c ch9294.c cyber938x.c et4000.c ibm8514.c io.c main.c nvidia.c rgb524.c s3clock.c stg1702.c tvp3020.c tvp3026clock.c virge.c vmware.c \
  127. att20c49x.c clgd542x.c data.c et4000hwgc.c icd2061a.c mach32.c mga2164w.c palette.c rgb524mn.c s3generic.c t2r4.c tvp3025.c vesa.c vision864.c w30c516.c \
  128. att21c498.c clgd546x.c db.c hiqvideo.c ics2494.c mach64.c mga4xx.c pci.c s3801.c s3hwgc.c template.c tvp3025clock.c vesadb.c vision964.c"
  129. BUILD_OUT="vga.elf.out"
  130. CLEAN_COM="rm -f *.o"
  131. LIBS_TO_LINK="ndb bio libc"
  132. LDFLAGS_EXTRA="-static -e_main"
  133. }
  134. cmd_srv()
  135. {
  136. BUILD_IN="srv.c"
  137. BUILD_OUT="srv.elf.out"
  138. CLEAN_COM="rm -f *.o"
  139. LIBS_TO_LINK="libauth bio ip libc"
  140. LDFLAGS_EXTRA="-static -e_main"
  141. }
  142. cmd_dhcpclient()
  143. {
  144. BUILD_DIR=${CMD_DIR}/ip
  145. BUILD_IN="dhcpclient.c"
  146. BUILD_OUT="dhcpclient.elf.out"
  147. CLEAN_COM="rm -f *.o"
  148. LIBS_TO_LINK="bio ip libc"
  149. LDFLAGS_EXTRA="-static -e_main"
  150. }
  151. cmd_telnet()
  152. {
  153. BUILD_DIR=${CMD_DIR}/ip
  154. BUILD_IN="telnet.c"
  155. BUILD_OUT="telnet.elf.out"
  156. CLEAN_COM="rm -f *.o"
  157. LIBS_TO_LINK="bio ip libc"
  158. LDFLAGS_EXTRA="-static -e_main"
  159. }
  160. cmd_ping()
  161. {
  162. BUILD_DIR=${CMD_DIR}/ip
  163. BUILD_IN="ping.c"
  164. BUILD_OUT="ping.elf.out"
  165. CLEAN_COM="rm -f *.o"
  166. LIBS_TO_LINK="ndb bio ip libc"
  167. LDFLAGS_EXTRA="-static -e_main"
  168. }
  169. #cmd_ipconfig()
  170. #{
  171. # BUILD_DIR=${CMD_DIR}/ip/ipconfig
  172. # BUILD_IN="ipv6.c main.c ppp.c"
  173. # BUILD_OUT="ipconfig.elf.out"
  174. # CLEAN_COM="rm -f *.o"
  175. # LIBS_TO_LINK="9p ndb bio ip libc"
  176. # LDFLAGS_EXTRA="-static -e_main"
  177. #}
  178. cmd_ps()
  179. {
  180. BUILD_IN="ps.c"
  181. BUILD_OUT="ps.elf.out"
  182. CLEAN_COM="rm -f *.o"
  183. LIBS_TO_LINK="bio libc"
  184. LDFLAGS_EXTRA="-static -e_main"
  185. }
  186. cmd_ls()
  187. {
  188. BUILD_IN="ls.c"
  189. BUILD_OUT="ls.elf.out"
  190. CLEAN_COM="rm -f *.o"
  191. LIBS_TO_LINK="bio libc"
  192. LDFLAGS_EXTRA="-static -e_main"
  193. }
  194. cmd_cp()
  195. {
  196. BUILD_IN="cp.c"
  197. BUILD_OUT="cp.elf.out"
  198. CLEAN_COM="rm -f *.o"
  199. LIBS_TO_LINK="libc"
  200. LDFLAGS_EXTRA="-static -e_main"
  201. }
  202. cmd_echo()
  203. {
  204. BUILD_IN="echo.c"
  205. BUILD_OUT="echo.elf.out"
  206. CLEAN_COM="rm -f *.o"
  207. LIBS_TO_LINK="libc"
  208. LDFLAGS_EXTRA="-static -e_main"
  209. }
  210. cmd_testalarm()
  211. {
  212. BUILD_IN="testalarm.c"
  213. BUILD_OUT="testalarm.elf.out"
  214. CLEAN_COM="rm -f *.o"
  215. LIBS_TO_LINK="libc"
  216. LDFLAGS_EXTRA="-static -e_main"
  217. }
  218. cmd_cat()
  219. {
  220. BUILD_IN="cat.c"
  221. BUILD_OUT="cat.elf.out"
  222. CLEAN_COM="rm -f *.o"
  223. LIBS_TO_LINK="libc"
  224. LDFLAGS_EXTRA="-static -e_main"
  225. }
  226. #cmd_rc()
  227. #{
  228. # BUILD_IN=" code.c \
  229. # exec.c \
  230. # getflags.c \
  231. # glob.c \
  232. # havefork.c \
  233. # here.c \
  234. # io.c \
  235. # lex.c \
  236. # pcmd.c \
  237. # pfnc.c \
  238. # plan9.c \
  239. # simple.c \
  240. # subr.c \
  241. # trap.c \
  242. # tree.c \
  243. # var.c \
  244. # y.tab.c \
  245. # "
  246. # BUILD_OUT="rc.elf.out"
  247. # CLEAN_COM="rm -f *.o *.tab.*"
  248. # LIBS_TO_LINK="String libc"
  249. # LDFLAGS_EXTRA="-static -e_main"
  250. #Extra tasks if we're compiling
  251. # if [ $1 -eq 1 ]
  252. # then
  253. # echo "$PARSER_GEN -d syn.y"
  254. # $PARSER_GEN -d syn.y
  255. # if [ $? -ne 0 ]
  256. # then
  257. # echo "ERROR executing $PARSER_GEN"
  258. # exit 1
  259. # fi
  260. # echo "cp y.tab.h x.tab.h"
  261. # cp y.tab.h x.tab.h
  262. # if [ $? -ne 0 ]
  263. # then
  264. # echo "ERROR copying y.tab.h to x.tab.h"
  265. # fi
  266. # fi
  267. #}
  268. # One for command? ugh, do it better!!
  269. cmd_bind()
  270. {
  271. BUILD_IN="bind.c"
  272. BUILD_OUT="bind.elf.out"
  273. CLEAN_COM="rm -f *.o"
  274. LIBS_TO_LINK="libc"
  275. LDFLAGS_EXTRA="-static -e_main"
  276. }
  277. cmd_mount()
  278. {
  279. BUILD_IN="mount.c"
  280. BUILD_OUT="mount.elf.out"
  281. CLEAN_COM="rm -f *.o"
  282. LIBS_TO_LINK="auth libc"
  283. LDFLAGS_EXTRA="-static -e_main"
  284. }
  285. lib9p()
  286. {
  287. BUILD_IN=" auth.c\
  288. dirread.c\
  289. fid.c\
  290. file.c\
  291. intmap.c\
  292. listen.c\
  293. mem.c\
  294. req.c\
  295. parse.c\
  296. post.c\
  297. rfork.c\
  298. srv.c\
  299. thread.c\
  300. uid.c\
  301. util.c\
  302. "
  303. BUILD_OUT="${LIB_DIR}/lib9p.a"
  304. CLEAN_COM="rm -f *.o"
  305. }
  306. libString()
  307. {
  308. BUILD_IN=" s_alloc.c\
  309. s_append.c\
  310. s_array.c\
  311. s_copy.c\
  312. s_getline.c\
  313. s_grow.c\
  314. s_memappend.c\
  315. s_nappend.c\
  316. s_parse.c\
  317. s_putc.c\
  318. s_rdinstack.c\
  319. s_read.c\
  320. s_read_line.c\
  321. s_reset.c\
  322. s_terminate.c\
  323. s_tolower.c\
  324. s_unique.c\
  325. "
  326. BUILD_OUT="${LIB_DIR}/libString.a"
  327. CLEAN_COM="rm -f *.o"
  328. }
  329. libauth()
  330. {
  331. BUILD_IN=" amount.c\
  332. amount_getkey.c\
  333. attr.c\
  334. auth_attr.c\
  335. auth_challenge.c\
  336. auth_chuid.c\
  337. auth_getkey.c\
  338. auth_getuserpasswd.c\
  339. auth_proxy.c\
  340. auth_respond.c\
  341. auth_rpc.c\
  342. auth_userpasswd.c\
  343. auth_wep.c\
  344. login.c\
  345. newns.c\
  346. noworld.c\
  347. "
  348. BUILD_OUT="${LIB_DIR}/libauth.a"
  349. CLEAN_COM="rm -f *.o"
  350. }
  351. libauthsrv()
  352. {
  353. BUILD_IN=" _asgetticket.c\
  354. _asrdresp.c\
  355. authdial.c\
  356. convA2M.c\
  357. convM2A.c\
  358. convM2PR.c\
  359. convM2T.c\
  360. convM2TR.c\
  361. convPR2M.c\
  362. convT2M.c\
  363. convTR2M.c\
  364. nvcsum.c\
  365. opasstokey.c\
  366. passtokey.c\
  367. readnvram.c\
  368. "
  369. BUILD_OUT="${LIB_DIR}/libauthsrv.a"
  370. CLEAN_COM="rm -f *.o"
  371. }
  372. libavl()
  373. {
  374. BUILD_IN="avl.c"
  375. BUILD_OUT="${LIB_DIR}/libavl.a"
  376. CLEAN_COM="rm -f *.o"
  377. }
  378. libbin()
  379. {
  380. BUILD_IN="bin.c"
  381. BUILD_OUT="${LIB_DIR}/libbin.a"
  382. CLEAN_COM="rm -f *.o"
  383. }
  384. libbio()
  385. {
  386. BUILD_IN=" bbuffered.c\
  387. bfildes.c\
  388. bflush.c\
  389. bgetrune.c\
  390. bgetc.c\
  391. bgetd.c\
  392. binit.c\
  393. boffset.c\
  394. bprint.c\
  395. bputrune.c\
  396. bputc.c\
  397. brdline.c\
  398. brdstr.c\
  399. bread.c\
  400. bseek.c\
  401. bwrite.c\
  402. bvprint.c\
  403. "
  404. BUILD_OUT="${LIB_DIR}/libbio.a"
  405. CLEAN_COM="rm -f *.o"
  406. }
  407. libcomplete()
  408. {
  409. BUILD_IN="complete.c"
  410. BUILD_OUT="${LIB_DIR}/libcomplete.a"
  411. CLEAN_COM="rm -f *.o"
  412. }
  413. libcontrol()
  414. {
  415. BUILD_IN=" box.c\
  416. button.c\
  417. cache.c\
  418. control.c\
  419. entry.c\
  420. group.c\
  421. keyboard.c\
  422. label.c\
  423. menu.c\
  424. radiobutton.c\
  425. scribble.c\
  426. slider.c\
  427. tabs.c\
  428. text.c\
  429. textbutton.c\
  430. textbutton3.c\
  431. "
  432. BUILD_OUT="${LIB_DIR}/libcontrol.a"
  433. CLEAN_COM="rm -f *.o"
  434. }
  435. libdisk()
  436. {
  437. BUILD_IN=" disk.c\
  438. proto.c\
  439. scsi.c\
  440. "
  441. BUILD_OUT="${LIB_DIR}/libdisk.a"
  442. CLEAN_COM="rm -f *.o"
  443. }
  444. libdraw()
  445. {
  446. BUILD_IN=" alloc.c\
  447. allocimagemix.c\
  448. arith.c\
  449. bezier.c\
  450. border.c\
  451. buildfont.c\
  452. bytesperline.c\
  453. chan.c\
  454. cloadimage.c\
  455. computil.c\
  456. creadimage.c\
  457. debug.c\
  458. defont.c\
  459. draw.c\
  460. drawrepl.c\
  461. egetrect.c\
  462. ellipse.c\
  463. emenuhit.c\
  464. event.c\
  465. fmt.c\
  466. font.c\
  467. freesubfont.c\
  468. getdefont.c\
  469. getrect.c\
  470. getsubfont.c\
  471. icossin.c\
  472. icossin2.c\
  473. init.c\
  474. keyboard.c\
  475. line.c\
  476. menuhit.c\
  477. mkfont.c\
  478. mouse.c\
  479. newwindow.c\
  480. openfont.c\
  481. poly.c\
  482. loadimage.c\
  483. readcolmap.c\
  484. readimage.c\
  485. readsubfont.c\
  486. rectclip.c\
  487. replclipr.c\
  488. rgb.c\
  489. scroll.c\
  490. string.c\
  491. stringbg.c\
  492. stringsubfont.c\
  493. stringwidth.c\
  494. subfont.c\
  495. subfontcache.c\
  496. subfontname.c\
  497. unloadimage.c\
  498. window.c\
  499. writecolmap.c\
  500. writeimage.c\
  501. writesubfont.c\
  502. "
  503. BUILD_OUT="${LIB_DIR}/libdraw.a"
  504. CLEAN_COM="rm -f *.o"
  505. }
  506. libflate()
  507. {
  508. BUILD_IN=" deflate.c\
  509. deflatezlib.c\
  510. deflateblock.c\
  511. deflatezlibblock.c\
  512. inflate.c\
  513. inflatezlib.c\
  514. inflateblock.c\
  515. inflatezlibblock.c\
  516. flateerr.c\
  517. crc.c\
  518. adler.c\
  519. "
  520. BUILD_OUT=${LIB_DIR}/libflate.a
  521. CLEAN_COM="rm -f *.o"
  522. }
  523. libframe()
  524. {
  525. BUILD_IN=" frbox.c\
  526. frdraw.c\
  527. frdelete.c\
  528. frinit.c\
  529. frinsert.c\
  530. frptofchar.c\
  531. frselect.c\
  532. frstr.c\
  533. frutil.c\
  534. "
  535. BUILD_OUT=${LIB_DIR}/libframe.a
  536. CLEAN_COM="rm -f *.o"
  537. }
  538. libgeometry()
  539. {
  540. BUILD_IN=" arith3.c\
  541. matrix.c\
  542. qball.c\
  543. quaternion.c\
  544. transform.c\
  545. tstack.c\
  546. "
  547. BUILD_OUT=${LIB_DIR}/libgeometry.a
  548. CLEAN_COM="rm -f *.o"
  549. }
  550. libhtml()
  551. {
  552. BUILD_IN=" build.c\
  553. lex.c\
  554. strinttab.c\
  555. utils.c\
  556. "
  557. BUILD_OUT=${LIB_DIR}/libhtml.a
  558. CLEAN_COM="rm -f *.o"
  559. }
  560. libhttpd()
  561. {
  562. BUILD_IN=" alloc.c\
  563. checkcontent.c\
  564. date.c\
  565. fail.c\
  566. gethead.c\
  567. hio.c\
  568. httpfmt.c\
  569. httpunesc.c\
  570. lower.c\
  571. okheaders.c\
  572. parse.c\
  573. parsereq.c\
  574. query.c\
  575. redirected.c\
  576. unallowed.c\
  577. urlfmt.c\
  578. urlunesc.c\
  579. "
  580. BUILD_OUT=${LIB_DIR}/libhttpd.a
  581. CLEAN_COM="rm -f *.o"
  582. }
  583. liblex()
  584. {
  585. BUILD_IN=" allprint.c\
  586. main.c\
  587. reject.c\
  588. yyless.c\
  589. yywrap.c\
  590. "
  591. BUILD_OUT=${LIB_DIR}/libl.a
  592. CLEAN_COM="rm -f *.o"
  593. CFLAGS_EXTRA=-I${SRC_DIR}/cmd/lex
  594. }
  595. libmemdraw()
  596. {
  597. BUILD_IN=" alloc.c\
  598. arc.c\
  599. cload.c\
  600. cmap.c\
  601. cread.c\
  602. defont.c\
  603. draw.c\
  604. ellipse.c\
  605. fillpoly.c\
  606. hwdraw.c\
  607. iprint.c\
  608. line.c\
  609. load.c\
  610. openmemsubfont.c\
  611. poly.c\
  612. read.c\
  613. string.c\
  614. subfont.c\
  615. unload.c\
  616. write.c\
  617. "
  618. BUILD_OUT=${LIB_DIR}/libmemdraw.a
  619. CLEAN_COM="rm -f *.o"
  620. }
  621. libmemlayer()
  622. {
  623. BUILD_IN=" draw.c\
  624. lalloc.c\
  625. layerop.c\
  626. ldelete.c\
  627. lhide.c\
  628. line.c\
  629. load.c\
  630. lorigin.c\
  631. lsetrefresh.c\
  632. ltofront.c\
  633. ltorear.c\
  634. unload.c\
  635. "
  636. BUILD_OUT=${LIB_DIR}/libmemlayer.a
  637. CLEAN_COM="rm -f *.o"
  638. }
  639. libndb()
  640. {
  641. BUILD_IN=" csgetval.c\
  642. csipinfo.c\
  643. dnsquery.c\
  644. ipattr.c\
  645. ndbaux.c\
  646. ndbcache.c\
  647. ndbcat.c\
  648. ndbconcatenate.c\
  649. ndbdiscard.c\
  650. ndbfree.c\
  651. ndbgetipaddr.c\
  652. ndbgetval.c\
  653. ndbhash.c\
  654. ndbipinfo.c\
  655. ndblookval.c\
  656. ndbopen.c\
  657. ndbparse.c\
  658. ndbreorder.c\
  659. ndbsubstitute.c\
  660. "
  661. BUILD_OUT=${LIB_DIR}/libndb.a
  662. CLEAN_COM="rm -f *.o"
  663. CFLAGS_EXTRA=-I${SRC_DIR}/libndb
  664. }
  665. libplumb()
  666. {
  667. BUILD_IN=" event.c\
  668. mesg.c\
  669. plumbsendtext.c\
  670. "
  671. BUILD_OUT=${LIB_DIR}/libplumb.a
  672. CLEAN_COM="rm -f *.o"
  673. }
  674. libregexp()
  675. {
  676. BUILD_IN=" regcomp.c\
  677. regerror.c\
  678. regexec.c\
  679. regsub.c\
  680. regaux.c\
  681. rregexec.c\
  682. rregsub.c\
  683. "
  684. BUILD_OUT=${LIB_DIR}/libregexp.a
  685. CLEAN_COM="rm -f *.o"
  686. }
  687. libstdio()
  688. {
  689. BUILD_IN=" _IO_getc.c\
  690. _IO_putc.c\
  691. clearerr.c\
  692. dtoa.c\
  693. fclose.c\
  694. fdopen.c\
  695. feof.c\
  696. ferror.c\
  697. fflush.c\
  698. fgetc.c\
  699. fgetpos.c\
  700. fgets.c\
  701. fileno.c\
  702. fopen.c\
  703. fprintf.c\
  704. fputc.c\
  705. fputs.c\
  706. fread.c\
  707. freopen.c\
  708. fscanf.c\
  709. fseek.c\
  710. fseeko.c\
  711. fsetpos.c\
  712. ftell.c\
  713. ftello.c\
  714. fwrite.c\
  715. getc.c\
  716. gets.c\
  717. printf.c\
  718. putc.c\
  719. puts.c\
  720. rewind.c\
  721. scanf.c\
  722. sclose.c\
  723. setbuf.c\
  724. setvbuf.c\
  725. snprintf.c\
  726. sopenr.c\
  727. sopenw.c\
  728. sprintf.c\
  729. sscanf.c\
  730. tmpfile.c\
  731. tmpnam.c\
  732. ungetc.c\
  733. vfprintf.c\
  734. vfscanf.c\
  735. vprintf.c\
  736. vsnprintf.c\
  737. vsprintf.c\
  738. "
  739. BUILD_OUT=${LIB_DIR}/libstdio.a
  740. CLEAN_COM="rm -f *.o"
  741. }
  742. libsunrpc()
  743. {
  744. BUILD_IN=" mount3.c\
  745. nfs3.c\
  746. portmap.c\
  747. authunix.c\
  748. client.c\
  749. emalloc.c\
  750. error.c\
  751. fd.c\
  752. fmt.c\
  753. net.c\
  754. prog.c\
  755. rpc.c\
  756. server.c\
  757. suncall.c\
  758. udp.c\
  759. "
  760. BUILD_OUT=${LIB_DIR}/libsunrpc.a
  761. CLEAN_COM="rm -f *.o"
  762. }
  763. libthread()
  764. {
  765. BUILD_IN=" amd64.c\
  766. channel.c\
  767. chanprint.c\
  768. create.c\
  769. debug.c\
  770. dial.c\
  771. exec.c\
  772. exit.c\
  773. id.c\
  774. iocall.c\
  775. ioclose.c\
  776. iodial.c\
  777. ioopen.c\
  778. ioproc.c\
  779. ioread.c\
  780. ioreadn.c\
  781. iosleep.c\
  782. iowrite.c\
  783. kill.c\
  784. lib.c\
  785. main.c\
  786. note.c\
  787. ref.c\
  788. rendez.c\
  789. sched.c\
  790. "
  791. BUILD_OUT=${LIB_DIR}/libthread.a
  792. CLEAN_COM="rm -f *.o"
  793. }
  794. libventi()
  795. {
  796. BUILD_IN=" cache.c\
  797. client.c\
  798. conn.c\
  799. dial.c\
  800. debug.c\
  801. dtype.c\
  802. entry.c\
  803. fcall.c\
  804. fcallfmt.c\
  805. file.c\
  806. hangup.c\
  807. log.c\
  808. mem.c\
  809. packet.c\
  810. parsescore.c\
  811. queue.c\
  812. root.c\
  813. rpc.c\
  814. scorefmt.c\
  815. send.c\
  816. server.c\
  817. srvhello.c\
  818. strdup.c\
  819. string.c\
  820. time.c\
  821. version.c\
  822. zero.c\
  823. zeroscore.c\
  824. "
  825. BUILD_OUT=${LIB_DIR}/libventi.a
  826. CLEAN_COM="rm -f *.o"
  827. }
  828. libc()
  829. {
  830. SUBDIRS="9sys 9syscall fmt port $ARCH"
  831. }
  832. libc_9sys()
  833. {
  834. BUILD_IN=" abort.c\
  835. access.c\
  836. announce.c\
  837. convD2M.c\
  838. convM2D.c\
  839. convM2S.c\
  840. convS2M.c\
  841. cputime.c\
  842. ctime.c\
  843. dial.c\
  844. dirfstat.c\
  845. dirfwstat.c\
  846. dirmodefmt.c\
  847. dirread.c\
  848. dirstat.c\
  849. dirwstat.c\
  850. fcallfmt.c\
  851. fork.c\
  852. getnetconninfo.c\
  853. getenv.c\
  854. getpid.c\
  855. getppid.c\
  856. getwd.c\
  857. iounit.c\
  858. nulldir.c\
  859. postnote.c\
  860. privalloc.c\
  861. pushssl.c\
  862. pushtls.c\
  863. putenv.c\
  864. qlock.c\
  865. read.c\
  866. read9pmsg.c\
  867. readv.c\
  868. rerrstr.c\
  869. sbrk.c\
  870. setnetmtpt.c\
  871. sysfatal.c\
  872. syslog.c\
  873. sysname.c\
  874. time.c\
  875. times.c\
  876. tm2sec.c\
  877. truerand.c\
  878. wait.c\
  879. waitpid.c\
  880. werrstr.c\
  881. write.c\
  882. writev.c\
  883. "
  884. BUILD_OUT=${LIB_DIR}/libc.a
  885. CLEAN_COM="rm -f *.o"
  886. }
  887. libc_9syscall()
  888. {
  889. if [ $1 -eq 1 ]
  890. then
  891. DO_NOTHING=1
  892. ${UTIL_DIR}/mksys $ARCH
  893. if [ $? -eq 0 ]
  894. then
  895. echo $CC $BUILD_DEBUG -c *.s
  896. $CC $BUILD_DEBUG -c *.s
  897. if [ $? -ne 0 ]
  898. then
  899. echo "ERROR compiling libc"
  900. fi
  901. echo $AR rv "${LIB_DIR}/libc.a" *.o
  902. $AR rv "${LIB_DIR}/libc.a" *.o
  903. else
  904. echo "ERROR executing ${UTIL_DIR}/mksys $ARCH"
  905. fi
  906. fi
  907. CLEAN_COM="rm -f *.o *.s"
  908. }
  909. libc_fmt()
  910. {
  911. BUILD_IN=" dofmt.c\
  912. dorfmt.c\
  913. errfmt.c\
  914. fltfmt.c\
  915. fmt.c\
  916. fmtfd.c\
  917. fmtlock.c\
  918. fmtprint.c\
  919. fmtquote.c\
  920. fmtrune.c\
  921. fmtstr.c\
  922. fmtvprint.c\
  923. fprint.c\
  924. print.c\
  925. runefmtstr.c\
  926. runeseprint.c\
  927. runesmprint.c\
  928. runesnprint.c\
  929. runesprint.c\
  930. runevseprint.c\
  931. runevsmprint.c\
  932. runevsnprint.c\
  933. seprint.c\
  934. smprint.c\
  935. snprint.c\
  936. sprint.c\
  937. vfprint.c\
  938. vseprint.c\
  939. vsmprint.c\
  940. vsnprint.c\
  941. "
  942. BUILD_OUT=${LIB_DIR}/libc.a
  943. CLEAN_COM="rm -f *.o"
  944. }
  945. libc_port()
  946. {
  947. BUILD_IN=" _assert.c\
  948. abs.c\
  949. asin.c\
  950. atan.c\
  951. atan2.c\
  952. atexit.c\
  953. atnotify.c\
  954. atof.c\
  955. atol.c\
  956. atoll.c\
  957. cistrcmp.c\
  958. cistrncmp.c\
  959. cistrstr.c\
  960. charstod.c\
  961. cleanname.c\
  962. crypt.c\
  963. ctype.c\
  964. encodefmt.c\
  965. execl.c\
  966. exp.c\
  967. fabs.c\
  968. floor.c\
  969. fmod.c\
  970. frand.c\
  971. frexp.c\
  972. getcallerpc.c\
  973. getfields.c\
  974. getuser.c\
  975. hangup.c\
  976. hypot.c\
  977. lnrand.c\
  978. lock.c\
  979. log.c\
  980. lrand.c\
  981. malloc.c\
  982. memccpy.c\
  983. memchr.c\
  984. memcmp.c\
  985. memmove.c\
  986. memset.c\
  987. mktemp.c\
  988. muldiv.c\
  989. nan.c\
  990. needsrcquote.c\
  991. netcrypt.c\
  992. netmkaddr.c\
  993. nrand.c\
  994. ntruerand.c\
  995. perror.c\
  996. pool.c\
  997. pow.c\
  998. pow10.c\
  999. profile.c\
  1000. qsort.c\
  1001. quote.c\
  1002. rand.c\
  1003. readn.c\
  1004. rune.c\
  1005. runebase.c\
  1006. runebsearch.c\
  1007. runestrcat.c\
  1008. runestrchr.c\
  1009. runestrcmp.c\
  1010. runestrcpy.c\
  1011. runestrecpy.c\
  1012. runestrdup.c\
  1013. runestrncat.c\
  1014. runestrncmp.c\
  1015. runestrncpy.c\
  1016. runestrrchr.c\
  1017. runestrlen.c\
  1018. runestrstr.c\
  1019. runetype.c\
  1020. sin.c\
  1021. sinh.c\
  1022. sqrt.c\
  1023. strcat.c\
  1024. strchr.c\
  1025. strcmp.c\
  1026. strcpy.c\
  1027. strecpy.c\
  1028. strcspn.c\
  1029. strdup.c\
  1030. strlen.c\
  1031. strncat.c\
  1032. strncmp.c\
  1033. strncpy.c\
  1034. strpbrk.c\
  1035. strrchr.c\
  1036. strspn.c\
  1037. strstr.c\
  1038. strtod.c\
  1039. strtok.c\
  1040. strtol.c\
  1041. strtoll.c\
  1042. strtoul.c\
  1043. strtoull.c\
  1044. tan.c\
  1045. tanh.c\
  1046. tokenize.c\
  1047. toupper.c\
  1048. utfecpy.c\
  1049. utflen.c\
  1050. utfnlen.c\
  1051. utfrune.c\
  1052. utfrrune.c\
  1053. utfutf.c\
  1054. u16.c\
  1055. u32.c\
  1056. u64.c\
  1057. "
  1058. BUILD_OUT=${LIB_DIR}/libc.a
  1059. CLEAN_COM="rm -f *.o"
  1060. }
  1061. libc_amd64()
  1062. {
  1063. BUILD_IN=" _seek.c\
  1064. notejmp.c\
  1065. cycles.c\
  1066. argv0.c\
  1067. rdpmc.c\
  1068. "
  1069. BUILD_OUT=${LIB_DIR}/libc.a
  1070. CLEAN_COM="rm -f *.o"
  1071. if [ $1 -eq 1 ]
  1072. then
  1073. as -o setjmp.o -c setjmp.s
  1074. as -o sqrt.o -c sqrt.s
  1075. as -o tas.o -c tas.s
  1076. echo "$CC $CFLAGS_LIB $BUILD_DEBUG -o atom.o -c atom.S"
  1077. $CC $CFLAGS_LIB $BUILD_DEBUG -o atom.o -c atom.S
  1078. echo "$CC $CFLAGS_LIB $BUILD_DEBUG -o main9.o -c main9.S"
  1079. $CC $CFLAGS_LIB $BUILD_DEBUG -o main9.o -c main9.S
  1080. fi
  1081. }
  1082. libmp()
  1083. {
  1084. SUBDIRS="port $ARCH"
  1085. }
  1086. libmp_port()
  1087. {
  1088. BUILD_IN=" mpaux.c\
  1089. mpfmt.c\
  1090. strtomp.c\
  1091. mptobe.c\
  1092. mptole.c\
  1093. betomp.c\
  1094. letomp.c\
  1095. mpadd.c\
  1096. mpsub.c\
  1097. mpcmp.c\
  1098. mpfactorial.c\
  1099. mpmul.c\
  1100. mpleft.c\
  1101. mpright.c\
  1102. mpvecadd.c\
  1103. mpvecsub.c\
  1104. mpvecdigmuladd.c\
  1105. mpveccmp.c\
  1106. mpdigdiv.c\
  1107. mpdiv.c\
  1108. mpexp.c\
  1109. mpmod.c\
  1110. mpextendedgcd.c\
  1111. mpinvert.c\
  1112. mprand.c\
  1113. crt.c\
  1114. mptoi.c\
  1115. mptoui.c\
  1116. mptov.c\
  1117. mptouv.c\
  1118. "
  1119. BUILD_OUT=${LIB_DIR}/libmp.a
  1120. CLEAN_COM="rm -f *.o"
  1121. }
  1122. libmp_amd64()
  1123. {
  1124. DO_NOTHING=1
  1125. }
  1126. libip()
  1127. {
  1128. BUILD_IN=" eipfmt.c\
  1129. equivip.c\
  1130. parseip.c\
  1131. parseether.c\
  1132. myetheraddr.c\
  1133. myipaddr.c\
  1134. classmask.c\
  1135. bo.c\
  1136. readipifc.c\
  1137. ipaux.c\
  1138. ptclbsum.c\
  1139. "
  1140. BUILD_OUT=${LIB_DIR}/libip.a
  1141. CLEAN_COM="rm -f *.o"
  1142. }
  1143. klibc()
  1144. {
  1145. BUILD_IN=" ./9sys/abort.c \
  1146. ./9sys/access.c \
  1147. ./9sys/announce.c \
  1148. ./9sys/convD2M.c \
  1149. ./9sys/convM2D.c \
  1150. ./9sys/convM2S.c \
  1151. ./9sys/convS2M.c \
  1152. ./9sys/cputime.c \
  1153. ./9sys/ctime.c \
  1154. ./9sys/dial.c \
  1155. ./9sys/dirfstat.c \
  1156. ./9sys/dirfwstat.c \
  1157. ./9sys/dirmodefmt.c \
  1158. ./9sys/dirread.c \
  1159. ./9sys/dirstat.c \
  1160. ./9sys/dirwstat.c \
  1161. ./9sys/fcallfmt.c \
  1162. ./9sys/fork.c \
  1163. ./9sys/getnetconninfo.c \
  1164. ./9sys/getenv.c \
  1165. ./9sys/getpid.c \
  1166. ./9sys/getppid.c \
  1167. ./9sys/getwd.c \
  1168. ./9sys/iounit.c \
  1169. ./9sys/nulldir.c \
  1170. ./9sys/postnote.c \
  1171. ./9sys/privalloc.c \
  1172. ./9sys/pushssl.c \
  1173. ./9sys/pushtls.c \
  1174. ./9sys/putenv.c \
  1175. ./9sys/qlock.c \
  1176. ./9sys/read.c \
  1177. ./9sys/read9pmsg.c \
  1178. ./9sys/readv.c \
  1179. ./9sys/rerrstr.c \
  1180. ./9sys/sbrk.c \
  1181. ./9sys/setnetmtpt.c \
  1182. ./9sys/sysfatal.c \
  1183. ./9sys/syslog.c \
  1184. ./9sys/sysname.c \
  1185. ./9sys/time.c \
  1186. ./9sys/times.c \
  1187. ./9sys/tm2sec.c \
  1188. ./9sys/truerand.c \
  1189. ./9sys/wait.c \
  1190. ./9sys/waitpid.c \
  1191. ./9sys/werrstr.c \
  1192. ./9sys/write.c \
  1193. ./9sys/writev.c \
  1194. ./fmt/dofmt.c \
  1195. ./fmt/dorfmt.c \
  1196. ./fmt/errfmt.c \
  1197. ./fmt/fltfmt.c \
  1198. ./fmt/fmt.c \
  1199. ./fmt/fmtfd.c \
  1200. ./fmt/fmtlock.c \
  1201. ./fmt/fmtprint.c \
  1202. ./fmt/fmtquote.c \
  1203. ./fmt/fmtrune.c \
  1204. ./fmt/fmtstr.c \
  1205. ./fmt/fmtvprint.c \
  1206. ./fmt/fprint.c \
  1207. ./fmt/print.c \
  1208. ./fmt/runefmtstr.c \
  1209. ./fmt/runeseprint.c \
  1210. ./fmt/runesmprint.c \
  1211. ./fmt/runesnprint.c \
  1212. ./fmt/runesprint.c \
  1213. ./fmt/runevseprint.c \
  1214. ./fmt/runevsmprint.c \
  1215. ./fmt/runevsnprint.c \
  1216. ./fmt/seprint.c \
  1217. ./fmt/smprint.c \
  1218. ./fmt/snprint.c \
  1219. ./fmt/sprint.c \
  1220. ./fmt/vfprint.c \
  1221. ./fmt/vseprint.c \
  1222. ./fmt/vsmprint.c \
  1223. ./fmt/vsnprint.c \
  1224. ./port/_assert.c \
  1225. ./port/abs.c \
  1226. ./port/asin.c \
  1227. ./port/atan.c \
  1228. ./port/atan2.c \
  1229. ./port/atexit.c \
  1230. ./port/atnotify.c \
  1231. ./port/atof.c \
  1232. ./port/atol.c \
  1233. ./port/atoll.c \
  1234. ./port/cistrcmp.c \
  1235. ./port/cistrncmp.c \
  1236. ./port/cistrstr.c \
  1237. ./port/charstod.c \
  1238. ./port/cleanname.c \
  1239. ./port/crypt.c \
  1240. ./port/ctype.c \
  1241. ./port/encodefmt.c \
  1242. ./port/execl.c \
  1243. ./port/exp.c \
  1244. ./port/fabs.c \
  1245. ./port/floor.c \
  1246. ./port/fmod.c \
  1247. ./port/frand.c \
  1248. ./port/frexp.c \
  1249. ./port/getcallerpc.c \
  1250. ./port/getfields.c \
  1251. ./port/getuser.c \
  1252. ./port/hangup.c \
  1253. ./port/hypot.c \
  1254. ./port/lnrand.c \
  1255. ./port/lock.c \
  1256. ./port/log.c \
  1257. ./port/lrand.c \
  1258. ./port/malloc.c \
  1259. ./port/memccpy.c \
  1260. ./port/memchr.c \
  1261. ./port/memcmp.c \
  1262. ./port/memmove.c \
  1263. ./port/memset.c \
  1264. ./port/mktemp.c \
  1265. ./port/muldiv.c \
  1266. ./port/nan.c \
  1267. ./port/needsrcquote.c \
  1268. ./port/netcrypt.c \
  1269. ./port/netmkaddr.c \
  1270. ./port/nrand.c \
  1271. ./port/ntruerand.c \
  1272. ./port/perror.c \
  1273. ./port/pool.c \
  1274. ./port/pow.c \
  1275. ./port/pow10.c \
  1276. ./port/profile.c \
  1277. ./port/qsort.c \
  1278. ./port/quote.c \
  1279. ./port/rand.c \
  1280. ./port/readn.c \
  1281. ./port/rune.c \
  1282. ./port/runebase.c \
  1283. ./port/runebsearch.c \
  1284. ./port/runestrcat.c \
  1285. ./port/runestrchr.c \
  1286. ./port/runestrcmp.c \
  1287. ./port/runestrcpy.c \
  1288. ./port/runestrecpy.c \
  1289. ./port/runestrdup.c \
  1290. ./port/runestrncat.c \
  1291. ./port/runestrncmp.c \
  1292. ./port/runestrncpy.c \
  1293. ./port/runestrrchr.c \
  1294. ./port/runestrlen.c \
  1295. ./port/runestrstr.c \
  1296. ./port/runetype.c \
  1297. ./port/sin.c \
  1298. ./port/sinh.c \
  1299. ./port/sqrt.c \
  1300. ./port/strcat.c \
  1301. ./port/strchr.c \
  1302. ./port/strcmp.c \
  1303. ./port/strcpy.c \
  1304. ./port/strecpy.c \
  1305. ./port/strcspn.c \
  1306. ./port/strdup.c \
  1307. ./port/strlen.c \
  1308. ./port/strncat.c \
  1309. ./port/strncmp.c \
  1310. ./port/strncpy.c \
  1311. ./port/strpbrk.c \
  1312. ./port/strrchr.c \
  1313. ./port/strspn.c \
  1314. ./port/strstr.c \
  1315. ./port/strtod.c \
  1316. ./port/strtok.c \
  1317. ./port/strtol.c \
  1318. ./port/strtoll.c \
  1319. ./port/strtoul.c \
  1320. ./port/strtoull.c \
  1321. ./port/tan.c \
  1322. ./port/tanh.c \
  1323. ./port/tokenize.c \
  1324. ./port/toupper.c \
  1325. ./port/utfecpy.c \
  1326. ./port/utflen.c \
  1327. ./port/utfnlen.c \
  1328. ./port/utfrune.c \
  1329. ./port/utfrrune.c \
  1330. ./port/utfutf.c \
  1331. ./port/u16.c \
  1332. ./port/u32.c \
  1333. ./port/u64.c \
  1334. ./amd64/_seek.c \
  1335. ./amd64/notejmp.c \
  1336. ./amd64/cycles.c \
  1337. ./amd64/argv0.c \
  1338. ./amd64/rdpmc.c
  1339. "
  1340. BUILD_OUT="${LIB_DIR}/klibc.a"
  1341. CLEAN_COM="rm -f *.o"
  1342. }
  1343. klibip()
  1344. {
  1345. BUILD_IN="bo.c classmask.c eipfmt.c equivip.c ipaux.c myetheraddr.c myipaddr.c parseether.c parseip.c ptclbsum.c readipifc.c testreadipifc.c"
  1346. BUILD_OUT=${LIB_DIR}/klibip.a
  1347. CLEAN_COM="rm -f *.o"
  1348. }
  1349. klibdraw()
  1350. {
  1351. BUILD_IN=" alloc.c\
  1352. allocimagemix.c\
  1353. arith.c\
  1354. bezier.c\
  1355. border.c\
  1356. buildfont.c\
  1357. bytesperline.c\
  1358. chan.c\
  1359. cloadimage.c\
  1360. computil.c\
  1361. creadimage.c\
  1362. debug.c\
  1363. defont.c\
  1364. draw.c\
  1365. drawrepl.c\
  1366. egetrect.c\
  1367. ellipse.c\
  1368. emenuhit.c\
  1369. event.c\
  1370. fmt.c\
  1371. font.c\
  1372. freesubfont.c\
  1373. getdefont.c\
  1374. getrect.c\
  1375. getsubfont.c\
  1376. icossin.c\
  1377. icossin2.c\
  1378. init.c\
  1379. keyboard.c\
  1380. line.c\
  1381. menuhit.c\
  1382. mkfont.c\
  1383. mouse.c\
  1384. newwindow.c\
  1385. openfont.c\
  1386. poly.c\
  1387. loadimage.c\
  1388. readcolmap.c\
  1389. readimage.c\
  1390. readsubfont.c\
  1391. rectclip.c\
  1392. replclipr.c\
  1393. rgb.c\
  1394. scroll.c\
  1395. string.c\
  1396. stringbg.c\
  1397. stringsubfont.c\
  1398. stringwidth.c\
  1399. subfont.c\
  1400. subfontcache.c\
  1401. subfontname.c\
  1402. unloadimage.c\
  1403. window.c\
  1404. writecolmap.c\
  1405. writeimage.c\
  1406. writesubfont.c\
  1407. "
  1408. BUILD_OUT="${LIB_DIR}/klibdraw.a"
  1409. CLEAN_COM="rm -f *.o"
  1410. }