1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483 |
- #!/bin/bash
- #### INSTAL PARAMS ####
- ARCH=amd64
- ### DIRS ###
- BASEDIR=${_BUILD_DIR}
- INC_DIR=${BASEDIR}/sys/include
- INC_ARCH=${BASEDIR}/${ARCH}/include
- LIB_DIR=${BASEDIR}/${ARCH}/lib
- SRC_DIR=${BASEDIR}/sys/src
- UTIL_DIR=${_BUILD_DIR}/util
- CMD_DIR=${SRC_DIR}/cmd
- KRL_DIR=${SRC_DIR}/9/k10
- TEST_DIR=${SRC_DIR}/test
- ### COMPILER ###
- CC=gcc
- CFLAGS_DEBUG="-g"
- 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}"
- 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}"
- 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}"
- LDFLAGS=-L$LIB_DIR
- AR=ar
- RANLIB=ranlib
- LD=ld
- LEX=lex
- PARSER_GEN=yacc
- COLLECT=/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2
- 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"
- AWK=awk
- XD=xxd
- NM=nm
- ### KERNEL ###
- DATE=$(date +%s)
- EXTKERNDATE="-DKERNDATE=${DATE}"
- KERNEL_CONF="k8cpu"
- KERNEL_SOURCE="entry.S *.c ../386/*.c ../ip/*.c ../port/*.c l64v.S l64fpu.S cpuidamd64.S l64acidt.S l64idt.S l64vsyscall.S "
- KERNEL_CFLAGS="-mcmodel=kernel -O0 -static -fplan9-extensions -ffreestanding -fno-builtin ${EXTKERNDATE}"
- KERNEL_CFLAGS_DEBUG="-g -fvar-tracking -fvar-tracking-assignments"
- KERNEL_WARNFLAGS="-Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized"
- KERNEL_UCFLAGS="-O0 -static -fplan9-extensions -ffreestanding -fno-builtin"
- 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
- KERNEL_LDFLAGS="-z max-page-size=0x1000 -nostdlib -g"
- KERNEL_OBJECT=9k
- ### Libraries ###
- BUILD_LIBS="lib9p libString libauth libauthsrv libavl libbin libbio libcomplete libcontrol libdisk libdraw libflate libframe libgeometry libhtml libhttpd\
- liblex libmemdraw libmemlayer libndb libplumb libregexp libstdio libsunrpc libthread libventi libc libmp libip"
- BUILD_KLIBS="libc libip libdraw"
- ### CMD ###
- BUILD_CMD="rc bind mount cat cp echo ls ipconfig ps mkdir pwd chmod rio date dd vga ping telnet dhcpclient srv testalarm"
- ### functions ###
- test_hello()
- {
- BUILD_IN="hello.c"
- BUILD_OUT="hello"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="stdio c"
- LDFLAGS_EXTRA="-static -e_main"
- }
- test_to_fork()
- {
- BUILD_IN="to_fork.c"
- BUILD_OUT="to_fork"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="stdio c"
- LDFLAGS_EXTRA="-static -e_main"
- }
- test_saymyname()
- {
- BUILD_IN="say.c"
- BUILD_OUT="say"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="stdio c"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_dd()
- {
- BUILD_IN="dd.c"
- BUILD_OUT="dd.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_date()
- {
- BUILD_IN="date.c"
- BUILD_OUT="date.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_chmod()
- {
- BUILD_IN="chmod.c"
- BUILD_OUT="chmod.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_pwd()
- {
- BUILD_IN="pwd.c"
- BUILD_OUT="pwd.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_mkdir()
- {
- BUILD_IN="mkdir.c"
- BUILD_OUT="mkdir.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_rio()
- {
- BUILD_IN="data.c fsys.c rio.c scrl.c time.c util.c wctl.c wind.c xfid.c"
- BUILD_OUT="rio.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libcomplete libframe libdraw libthread libplumb libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_vga()
- {
- BUILD_DIR=${CMD_DIR}/aux/vga
- 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 \
- 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 \
- 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 \
- 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"
- BUILD_OUT="vga.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="ndb bio libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_srv()
- {
- BUILD_IN="srv.c"
- BUILD_OUT="srv.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libauth bio ip libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_dhcpclient()
- {
- BUILD_DIR=${CMD_DIR}/ip
- BUILD_IN="dhcpclient.c"
- BUILD_OUT="dhcpclient.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="bio ip libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_telnet()
- {
- BUILD_DIR=${CMD_DIR}/ip
- BUILD_IN="telnet.c"
- BUILD_OUT="telnet.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="bio ip libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_ping()
- {
- BUILD_DIR=${CMD_DIR}/ip
- BUILD_IN="ping.c"
- BUILD_OUT="ping.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="ndb bio ip libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- #cmd_ipconfig()
- #{
- # BUILD_DIR=${CMD_DIR}/ip/ipconfig
- # BUILD_IN="ipv6.c main.c ppp.c"
- # BUILD_OUT="ipconfig.elf.out"
- # CLEAN_COM="rm -f *.o"
- # LIBS_TO_LINK="9p ndb bio ip libc"
- # LDFLAGS_EXTRA="-static -e_main"
- #}
- cmd_ps()
- {
- BUILD_IN="ps.c"
- BUILD_OUT="ps.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="bio libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_ls()
- {
- BUILD_IN="ls.c"
- BUILD_OUT="ls.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="bio libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_cp()
- {
- BUILD_IN="cp.c"
- BUILD_OUT="cp.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_echo()
- {
- BUILD_IN="echo.c"
- BUILD_OUT="echo.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_testalarm()
- {
- BUILD_IN="testalarm.c"
- BUILD_OUT="testalarm.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_cat()
- {
- BUILD_IN="cat.c"
- BUILD_OUT="cat.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- #cmd_rc()
- #{
- # BUILD_IN=" code.c \
- # exec.c \
- # getflags.c \
- # glob.c \
- # havefork.c \
- # here.c \
- # io.c \
- # lex.c \
- # pcmd.c \
- # pfnc.c \
- # plan9.c \
- # simple.c \
- # subr.c \
- # trap.c \
- # tree.c \
- # var.c \
- # y.tab.c \
- # "
- # BUILD_OUT="rc.elf.out"
- # CLEAN_COM="rm -f *.o *.tab.*"
- # LIBS_TO_LINK="String libc"
- # LDFLAGS_EXTRA="-static -e_main"
-
- #Extra tasks if we're compiling
- # if [ $1 -eq 1 ]
- # then
- # echo "$PARSER_GEN -d syn.y"
- # $PARSER_GEN -d syn.y
- # if [ $? -ne 0 ]
- # then
- # echo "ERROR executing $PARSER_GEN"
- # exit 1
- # fi
- # echo "cp y.tab.h x.tab.h"
- # cp y.tab.h x.tab.h
- # if [ $? -ne 0 ]
- # then
- # echo "ERROR copying y.tab.h to x.tab.h"
- # fi
- # fi
- #}
- # One for command? ugh, do it better!!
- cmd_bind()
- {
- BUILD_IN="bind.c"
- BUILD_OUT="bind.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- cmd_mount()
- {
- BUILD_IN="mount.c"
- BUILD_OUT="mount.elf.out"
- CLEAN_COM="rm -f *.o"
- LIBS_TO_LINK="auth libc"
- LDFLAGS_EXTRA="-static -e_main"
- }
- lib9p()
- {
- BUILD_IN=" auth.c\
- dirread.c\
- fid.c\
- file.c\
- intmap.c\
- listen.c\
- mem.c\
- req.c\
- parse.c\
- post.c\
- rfork.c\
- srv.c\
- thread.c\
- uid.c\
- util.c\
- "
- BUILD_OUT="${LIB_DIR}/lib9p.a"
- CLEAN_COM="rm -f *.o"
- }
- libString()
- {
- BUILD_IN=" s_alloc.c\
- s_append.c\
- s_array.c\
- s_copy.c\
- s_getline.c\
- s_grow.c\
- s_memappend.c\
- s_nappend.c\
- s_parse.c\
- s_putc.c\
- s_rdinstack.c\
- s_read.c\
- s_read_line.c\
- s_reset.c\
- s_terminate.c\
- s_tolower.c\
- s_unique.c\
- "
- BUILD_OUT="${LIB_DIR}/libString.a"
- CLEAN_COM="rm -f *.o"
- }
- libauth()
- {
- BUILD_IN=" amount.c\
- amount_getkey.c\
- attr.c\
- auth_attr.c\
- auth_challenge.c\
- auth_chuid.c\
- auth_getkey.c\
- auth_getuserpasswd.c\
- auth_proxy.c\
- auth_respond.c\
- auth_rpc.c\
- auth_userpasswd.c\
- auth_wep.c\
- login.c\
- newns.c\
- noworld.c\
- "
- BUILD_OUT="${LIB_DIR}/libauth.a"
- CLEAN_COM="rm -f *.o"
- }
- libauthsrv()
- {
- BUILD_IN=" _asgetticket.c\
- _asrdresp.c\
- authdial.c\
- convA2M.c\
- convM2A.c\
- convM2PR.c\
- convM2T.c\
- convM2TR.c\
- convPR2M.c\
- convT2M.c\
- convTR2M.c\
- nvcsum.c\
- opasstokey.c\
- passtokey.c\
- readnvram.c\
- "
- BUILD_OUT="${LIB_DIR}/libauthsrv.a"
- CLEAN_COM="rm -f *.o"
- }
- libavl()
- {
- BUILD_IN="avl.c"
- BUILD_OUT="${LIB_DIR}/libavl.a"
- CLEAN_COM="rm -f *.o"
- }
- libbin()
- {
- BUILD_IN="bin.c"
- BUILD_OUT="${LIB_DIR}/libbin.a"
- CLEAN_COM="rm -f *.o"
- }
- libbio()
- {
- BUILD_IN=" bbuffered.c\
- bfildes.c\
- bflush.c\
- bgetrune.c\
- bgetc.c\
- bgetd.c\
- binit.c\
- boffset.c\
- bprint.c\
- bputrune.c\
- bputc.c\
- brdline.c\
- brdstr.c\
- bread.c\
- bseek.c\
- bwrite.c\
- bvprint.c\
- "
- BUILD_OUT="${LIB_DIR}/libbio.a"
- CLEAN_COM="rm -f *.o"
- }
- libcomplete()
- {
- BUILD_IN="complete.c"
- BUILD_OUT="${LIB_DIR}/libcomplete.a"
- CLEAN_COM="rm -f *.o"
- }
- libcontrol()
- {
- BUILD_IN=" box.c\
- button.c\
- cache.c\
- control.c\
- entry.c\
- group.c\
- keyboard.c\
- label.c\
- menu.c\
- radiobutton.c\
- scribble.c\
- slider.c\
- tabs.c\
- text.c\
- textbutton.c\
- textbutton3.c\
- "
- BUILD_OUT="${LIB_DIR}/libcontrol.a"
- CLEAN_COM="rm -f *.o"
- }
- libdisk()
- {
- BUILD_IN=" disk.c\
- proto.c\
- scsi.c\
- "
- BUILD_OUT="${LIB_DIR}/libdisk.a"
- CLEAN_COM="rm -f *.o"
- }
- libdraw()
- {
- BUILD_IN=" alloc.c\
- allocimagemix.c\
- arith.c\
- bezier.c\
- border.c\
- buildfont.c\
- bytesperline.c\
- chan.c\
- cloadimage.c\
- computil.c\
- creadimage.c\
- debug.c\
- defont.c\
- draw.c\
- drawrepl.c\
- egetrect.c\
- ellipse.c\
- emenuhit.c\
- event.c\
- fmt.c\
- font.c\
- freesubfont.c\
- getdefont.c\
- getrect.c\
- getsubfont.c\
- icossin.c\
- icossin2.c\
- init.c\
- keyboard.c\
- line.c\
- menuhit.c\
- mkfont.c\
- mouse.c\
- newwindow.c\
- openfont.c\
- poly.c\
- loadimage.c\
- readcolmap.c\
- readimage.c\
- readsubfont.c\
- rectclip.c\
- replclipr.c\
- rgb.c\
- scroll.c\
- string.c\
- stringbg.c\
- stringsubfont.c\
- stringwidth.c\
- subfont.c\
- subfontcache.c\
- subfontname.c\
- unloadimage.c\
- window.c\
- writecolmap.c\
- writeimage.c\
- writesubfont.c\
- "
- BUILD_OUT="${LIB_DIR}/libdraw.a"
- CLEAN_COM="rm -f *.o"
- }
- libflate()
- {
-
- BUILD_IN=" deflate.c\
- deflatezlib.c\
- deflateblock.c\
- deflatezlibblock.c\
- inflate.c\
- inflatezlib.c\
- inflateblock.c\
- inflatezlibblock.c\
- flateerr.c\
- crc.c\
- adler.c\
- "
- BUILD_OUT=${LIB_DIR}/libflate.a
- CLEAN_COM="rm -f *.o"
- }
- libframe()
- {
- BUILD_IN=" frbox.c\
- frdraw.c\
- frdelete.c\
- frinit.c\
- frinsert.c\
- frptofchar.c\
- frselect.c\
- frstr.c\
- frutil.c\
- "
- BUILD_OUT=${LIB_DIR}/libframe.a
- CLEAN_COM="rm -f *.o"
- }
- libgeometry()
- {
- BUILD_IN=" arith3.c\
- matrix.c\
- qball.c\
- quaternion.c\
- transform.c\
- tstack.c\
- "
- BUILD_OUT=${LIB_DIR}/libgeometry.a
- CLEAN_COM="rm -f *.o"
- }
- libhtml()
- {
- BUILD_IN=" build.c\
- lex.c\
- strinttab.c\
- utils.c\
- "
- BUILD_OUT=${LIB_DIR}/libhtml.a
- CLEAN_COM="rm -f *.o"
- }
- libhttpd()
- {
- BUILD_IN=" alloc.c\
- checkcontent.c\
- date.c\
- fail.c\
- gethead.c\
- hio.c\
- httpfmt.c\
- httpunesc.c\
- lower.c\
- okheaders.c\
- parse.c\
- parsereq.c\
- query.c\
- redirected.c\
- unallowed.c\
- urlfmt.c\
- urlunesc.c\
- "
- BUILD_OUT=${LIB_DIR}/libhttpd.a
- CLEAN_COM="rm -f *.o"
- }
- liblex()
- {
- BUILD_IN=" allprint.c\
- main.c\
- reject.c\
- yyless.c\
- yywrap.c\
- "
- BUILD_OUT=${LIB_DIR}/libl.a
- CLEAN_COM="rm -f *.o"
-
- CFLAGS_EXTRA=-I${SRC_DIR}/cmd/lex
- }
- libmemdraw()
- {
- BUILD_IN=" alloc.c\
- arc.c\
- cload.c\
- cmap.c\
- cread.c\
- defont.c\
- draw.c\
- ellipse.c\
- fillpoly.c\
- hwdraw.c\
- iprint.c\
- line.c\
- load.c\
- openmemsubfont.c\
- poly.c\
- read.c\
- string.c\
- subfont.c\
- unload.c\
- write.c\
- "
- BUILD_OUT=${LIB_DIR}/libmemdraw.a
- CLEAN_COM="rm -f *.o"
- }
- libmemlayer()
- {
- BUILD_IN=" draw.c\
- lalloc.c\
- layerop.c\
- ldelete.c\
- lhide.c\
- line.c\
- load.c\
- lorigin.c\
- lsetrefresh.c\
- ltofront.c\
- ltorear.c\
- unload.c\
- "
- BUILD_OUT=${LIB_DIR}/libmemlayer.a
- CLEAN_COM="rm -f *.o"
- }
- libndb()
- {
- BUILD_IN=" csgetval.c\
- csipinfo.c\
- dnsquery.c\
- ipattr.c\
- ndbaux.c\
- ndbcache.c\
- ndbcat.c\
- ndbconcatenate.c\
- ndbdiscard.c\
- ndbfree.c\
- ndbgetipaddr.c\
- ndbgetval.c\
- ndbhash.c\
- ndbipinfo.c\
- ndblookval.c\
- ndbopen.c\
- ndbparse.c\
- ndbreorder.c\
- ndbsubstitute.c\
- "
- BUILD_OUT=${LIB_DIR}/libndb.a
- CLEAN_COM="rm -f *.o"
-
- CFLAGS_EXTRA=-I${SRC_DIR}/libndb
- }
- libplumb()
- {
- BUILD_IN=" event.c\
- mesg.c\
- plumbsendtext.c\
- "
- BUILD_OUT=${LIB_DIR}/libplumb.a
- CLEAN_COM="rm -f *.o"
- }
- libregexp()
- {
- BUILD_IN=" regcomp.c\
- regerror.c\
- regexec.c\
- regsub.c\
- regaux.c\
- rregexec.c\
- rregsub.c\
- "
- BUILD_OUT=${LIB_DIR}/libregexp.a
- CLEAN_COM="rm -f *.o"
- }
- libstdio()
- {
- BUILD_IN=" _IO_getc.c\
- _IO_putc.c\
- clearerr.c\
- dtoa.c\
- fclose.c\
- fdopen.c\
- feof.c\
- ferror.c\
- fflush.c\
- fgetc.c\
- fgetpos.c\
- fgets.c\
- fileno.c\
- fopen.c\
- fprintf.c\
- fputc.c\
- fputs.c\
- fread.c\
- freopen.c\
- fscanf.c\
- fseek.c\
- fseeko.c\
- fsetpos.c\
- ftell.c\
- ftello.c\
- fwrite.c\
- getc.c\
- gets.c\
- printf.c\
- putc.c\
- puts.c\
- rewind.c\
- scanf.c\
- sclose.c\
- setbuf.c\
- setvbuf.c\
- snprintf.c\
- sopenr.c\
- sopenw.c\
- sprintf.c\
- sscanf.c\
- tmpfile.c\
- tmpnam.c\
- ungetc.c\
- vfprintf.c\
- vfscanf.c\
- vprintf.c\
- vsnprintf.c\
- vsprintf.c\
- "
- BUILD_OUT=${LIB_DIR}/libstdio.a
- CLEAN_COM="rm -f *.o"
- }
- libsunrpc()
- {
- BUILD_IN=" mount3.c\
- nfs3.c\
- portmap.c\
- authunix.c\
- client.c\
- emalloc.c\
- error.c\
- fd.c\
- fmt.c\
- net.c\
- prog.c\
- rpc.c\
- server.c\
- suncall.c\
- udp.c\
- "
- BUILD_OUT=${LIB_DIR}/libsunrpc.a
- CLEAN_COM="rm -f *.o"
- }
- libthread()
- {
- BUILD_IN=" amd64.c\
- channel.c\
- chanprint.c\
- create.c\
- debug.c\
- dial.c\
- exec.c\
- exit.c\
- id.c\
- iocall.c\
- ioclose.c\
- iodial.c\
- ioopen.c\
- ioproc.c\
- ioread.c\
- ioreadn.c\
- iosleep.c\
- iowrite.c\
- kill.c\
- lib.c\
- main.c\
- note.c\
- ref.c\
- rendez.c\
- sched.c\
- "
- BUILD_OUT=${LIB_DIR}/libthread.a
- CLEAN_COM="rm -f *.o"
- }
- libventi()
- {
- BUILD_IN=" cache.c\
- client.c\
- conn.c\
- dial.c\
- debug.c\
- dtype.c\
- entry.c\
- fcall.c\
- fcallfmt.c\
- file.c\
- hangup.c\
- log.c\
- mem.c\
- packet.c\
- parsescore.c\
- queue.c\
- root.c\
- rpc.c\
- scorefmt.c\
- send.c\
- server.c\
- srvhello.c\
- strdup.c\
- string.c\
- time.c\
- version.c\
- zero.c\
- zeroscore.c\
- "
- BUILD_OUT=${LIB_DIR}/libventi.a
- CLEAN_COM="rm -f *.o"
- }
- libc()
- {
- SUBDIRS="9sys 9syscall fmt port $ARCH"
- }
- libc_9sys()
- {
-
- BUILD_IN=" abort.c\
- access.c\
- announce.c\
- convD2M.c\
- convM2D.c\
- convM2S.c\
- convS2M.c\
- cputime.c\
- ctime.c\
- dial.c\
- dirfstat.c\
- dirfwstat.c\
- dirmodefmt.c\
- dirread.c\
- dirstat.c\
- dirwstat.c\
- fcallfmt.c\
- fork.c\
- getnetconninfo.c\
- getenv.c\
- getpid.c\
- getppid.c\
- getwd.c\
- iounit.c\
- nulldir.c\
- postnote.c\
- privalloc.c\
- pushssl.c\
- pushtls.c\
- putenv.c\
- qlock.c\
- read.c\
- read9pmsg.c\
- readv.c\
- rerrstr.c\
- sbrk.c\
- setnetmtpt.c\
- sysfatal.c\
- syslog.c\
- sysname.c\
- time.c\
- times.c\
- tm2sec.c\
- truerand.c\
- wait.c\
- waitpid.c\
- werrstr.c\
- write.c\
- writev.c\
- "
- BUILD_OUT=${LIB_DIR}/libc.a
- CLEAN_COM="rm -f *.o"
- }
- libc_9syscall()
- {
- if [ $1 -eq 1 ]
- then
- DO_NOTHING=1
- ${UTIL_DIR}/mksys $ARCH
- if [ $? -eq 0 ]
- then
- echo $CC $BUILD_DEBUG -c *.s
- $CC $BUILD_DEBUG -c *.s
- if [ $? -ne 0 ]
- then
- echo "ERROR compiling libc"
- fi
- echo $AR rv "${LIB_DIR}/libc.a" *.o
- $AR rv "${LIB_DIR}/libc.a" *.o
- else
- echo "ERROR executing ${UTIL_DIR}/mksys $ARCH"
- fi
- fi
- CLEAN_COM="rm -f *.o *.s"
- }
- libc_fmt()
- {
- BUILD_IN=" dofmt.c\
- dorfmt.c\
- errfmt.c\
- fltfmt.c\
- fmt.c\
- fmtfd.c\
- fmtlock.c\
- fmtprint.c\
- fmtquote.c\
- fmtrune.c\
- fmtstr.c\
- fmtvprint.c\
- fprint.c\
- print.c\
- runefmtstr.c\
- runeseprint.c\
- runesmprint.c\
- runesnprint.c\
- runesprint.c\
- runevseprint.c\
- runevsmprint.c\
- runevsnprint.c\
- seprint.c\
- smprint.c\
- snprint.c\
- sprint.c\
- vfprint.c\
- vseprint.c\
- vsmprint.c\
- vsnprint.c\
- "
- BUILD_OUT=${LIB_DIR}/libc.a
- CLEAN_COM="rm -f *.o"
- }
- libc_port()
- {
- BUILD_IN=" _assert.c\
- abs.c\
- asin.c\
- atan.c\
- atan2.c\
- atexit.c\
- atnotify.c\
- atof.c\
- atol.c\
- atoll.c\
- cistrcmp.c\
- cistrncmp.c\
- cistrstr.c\
- charstod.c\
- cleanname.c\
- crypt.c\
- ctype.c\
- encodefmt.c\
- execl.c\
- exp.c\
- fabs.c\
- floor.c\
- fmod.c\
- frand.c\
- frexp.c\
- getcallerpc.c\
- getfields.c\
- getuser.c\
- hangup.c\
- hypot.c\
- lnrand.c\
- lock.c\
- log.c\
- lrand.c\
- malloc.c\
- memccpy.c\
- memchr.c\
- memcmp.c\
- memmove.c\
- memset.c\
- mktemp.c\
- muldiv.c\
- nan.c\
- needsrcquote.c\
- netcrypt.c\
- netmkaddr.c\
- nrand.c\
- ntruerand.c\
- perror.c\
- pool.c\
- pow.c\
- pow10.c\
- profile.c\
- qsort.c\
- quote.c\
- rand.c\
- readn.c\
- rune.c\
- runebase.c\
- runebsearch.c\
- runestrcat.c\
- runestrchr.c\
- runestrcmp.c\
- runestrcpy.c\
- runestrecpy.c\
- runestrdup.c\
- runestrncat.c\
- runestrncmp.c\
- runestrncpy.c\
- runestrrchr.c\
- runestrlen.c\
- runestrstr.c\
- runetype.c\
- sin.c\
- sinh.c\
- sqrt.c\
- strcat.c\
- strchr.c\
- strcmp.c\
- strcpy.c\
- strecpy.c\
- strcspn.c\
- strdup.c\
- strlen.c\
- strncat.c\
- strncmp.c\
- strncpy.c\
- strpbrk.c\
- strrchr.c\
- strspn.c\
- strstr.c\
- strtod.c\
- strtok.c\
- strtol.c\
- strtoll.c\
- strtoul.c\
- strtoull.c\
- tan.c\
- tanh.c\
- tokenize.c\
- toupper.c\
- utfecpy.c\
- utflen.c\
- utfnlen.c\
- utfrune.c\
- utfrrune.c\
- utfutf.c\
- u16.c\
- u32.c\
- u64.c\
- "
- BUILD_OUT=${LIB_DIR}/libc.a
- CLEAN_COM="rm -f *.o"
- }
- libc_amd64()
- {
- BUILD_IN=" _seek.c\
- notejmp.c\
- cycles.c\
- argv0.c\
- rdpmc.c\
- "
- BUILD_OUT=${LIB_DIR}/libc.a
- CLEAN_COM="rm -f *.o"
-
- if [ $1 -eq 1 ]
- then
- as -o setjmp.o -c setjmp.s
- as -o sqrt.o -c sqrt.s
- as -o tas.o -c tas.s
- echo "$CC $CFLAGS_LIB $BUILD_DEBUG -o atom.o -c atom.S"
- $CC $CFLAGS_LIB $BUILD_DEBUG -o atom.o -c atom.S
- echo "$CC $CFLAGS_LIB $BUILD_DEBUG -o main9.o -c main9.S"
- $CC $CFLAGS_LIB $BUILD_DEBUG -o main9.o -c main9.S
- fi
- }
- libmp()
- {
- SUBDIRS="port $ARCH"
- }
- libmp_port()
- {
- BUILD_IN=" mpaux.c\
- mpfmt.c\
- strtomp.c\
- mptobe.c\
- mptole.c\
- betomp.c\
- letomp.c\
- mpadd.c\
- mpsub.c\
- mpcmp.c\
- mpfactorial.c\
- mpmul.c\
- mpleft.c\
- mpright.c\
- mpvecadd.c\
- mpvecsub.c\
- mpvecdigmuladd.c\
- mpveccmp.c\
- mpdigdiv.c\
- mpdiv.c\
- mpexp.c\
- mpmod.c\
- mpextendedgcd.c\
- mpinvert.c\
- mprand.c\
- crt.c\
- mptoi.c\
- mptoui.c\
- mptov.c\
- mptouv.c\
- "
- BUILD_OUT=${LIB_DIR}/libmp.a
- CLEAN_COM="rm -f *.o"
- }
- libmp_amd64()
- {
- DO_NOTHING=1
- }
- libip()
- {
- BUILD_IN=" eipfmt.c\
- equivip.c\
- parseip.c\
- parseether.c\
- myetheraddr.c\
- myipaddr.c\
- classmask.c\
- bo.c\
- readipifc.c\
- ipaux.c\
- ptclbsum.c\
- "
- BUILD_OUT=${LIB_DIR}/libip.a
- CLEAN_COM="rm -f *.o"
- }
- klibc()
- {
- BUILD_IN=" ./9sys/abort.c \
- ./9sys/access.c \
- ./9sys/announce.c \
- ./9sys/convD2M.c \
- ./9sys/convM2D.c \
- ./9sys/convM2S.c \
- ./9sys/convS2M.c \
- ./9sys/cputime.c \
- ./9sys/ctime.c \
- ./9sys/dial.c \
- ./9sys/dirfstat.c \
- ./9sys/dirfwstat.c \
- ./9sys/dirmodefmt.c \
- ./9sys/dirread.c \
- ./9sys/dirstat.c \
- ./9sys/dirwstat.c \
- ./9sys/fcallfmt.c \
- ./9sys/fork.c \
- ./9sys/getnetconninfo.c \
- ./9sys/getenv.c \
- ./9sys/getpid.c \
- ./9sys/getppid.c \
- ./9sys/getwd.c \
- ./9sys/iounit.c \
- ./9sys/nulldir.c \
- ./9sys/postnote.c \
- ./9sys/privalloc.c \
- ./9sys/pushssl.c \
- ./9sys/pushtls.c \
- ./9sys/putenv.c \
- ./9sys/qlock.c \
- ./9sys/read.c \
- ./9sys/read9pmsg.c \
- ./9sys/readv.c \
- ./9sys/rerrstr.c \
- ./9sys/sbrk.c \
- ./9sys/setnetmtpt.c \
- ./9sys/sysfatal.c \
- ./9sys/syslog.c \
- ./9sys/sysname.c \
- ./9sys/time.c \
- ./9sys/times.c \
- ./9sys/tm2sec.c \
- ./9sys/truerand.c \
- ./9sys/wait.c \
- ./9sys/waitpid.c \
- ./9sys/werrstr.c \
- ./9sys/write.c \
- ./9sys/writev.c \
- ./fmt/dofmt.c \
- ./fmt/dorfmt.c \
- ./fmt/errfmt.c \
- ./fmt/fltfmt.c \
- ./fmt/fmt.c \
- ./fmt/fmtfd.c \
- ./fmt/fmtlock.c \
- ./fmt/fmtprint.c \
- ./fmt/fmtquote.c \
- ./fmt/fmtrune.c \
- ./fmt/fmtstr.c \
- ./fmt/fmtvprint.c \
- ./fmt/fprint.c \
- ./fmt/print.c \
- ./fmt/runefmtstr.c \
- ./fmt/runeseprint.c \
- ./fmt/runesmprint.c \
- ./fmt/runesnprint.c \
- ./fmt/runesprint.c \
- ./fmt/runevseprint.c \
- ./fmt/runevsmprint.c \
- ./fmt/runevsnprint.c \
- ./fmt/seprint.c \
- ./fmt/smprint.c \
- ./fmt/snprint.c \
- ./fmt/sprint.c \
- ./fmt/vfprint.c \
- ./fmt/vseprint.c \
- ./fmt/vsmprint.c \
- ./fmt/vsnprint.c \
- ./port/_assert.c \
- ./port/abs.c \
- ./port/asin.c \
- ./port/atan.c \
- ./port/atan2.c \
- ./port/atexit.c \
- ./port/atnotify.c \
- ./port/atof.c \
- ./port/atol.c \
- ./port/atoll.c \
- ./port/cistrcmp.c \
- ./port/cistrncmp.c \
- ./port/cistrstr.c \
- ./port/charstod.c \
- ./port/cleanname.c \
- ./port/crypt.c \
- ./port/ctype.c \
- ./port/encodefmt.c \
- ./port/execl.c \
- ./port/exp.c \
- ./port/fabs.c \
- ./port/floor.c \
- ./port/fmod.c \
- ./port/frand.c \
- ./port/frexp.c \
- ./port/getcallerpc.c \
- ./port/getfields.c \
- ./port/getuser.c \
- ./port/hangup.c \
- ./port/hypot.c \
- ./port/lnrand.c \
- ./port/lock.c \
- ./port/log.c \
- ./port/lrand.c \
- ./port/malloc.c \
- ./port/memccpy.c \
- ./port/memchr.c \
- ./port/memcmp.c \
- ./port/memmove.c \
- ./port/memset.c \
- ./port/mktemp.c \
- ./port/muldiv.c \
- ./port/nan.c \
- ./port/needsrcquote.c \
- ./port/netcrypt.c \
- ./port/netmkaddr.c \
- ./port/nrand.c \
- ./port/ntruerand.c \
- ./port/perror.c \
- ./port/pool.c \
- ./port/pow.c \
- ./port/pow10.c \
- ./port/profile.c \
- ./port/qsort.c \
- ./port/quote.c \
- ./port/rand.c \
- ./port/readn.c \
- ./port/rune.c \
- ./port/runebase.c \
- ./port/runebsearch.c \
- ./port/runestrcat.c \
- ./port/runestrchr.c \
- ./port/runestrcmp.c \
- ./port/runestrcpy.c \
- ./port/runestrecpy.c \
- ./port/runestrdup.c \
- ./port/runestrncat.c \
- ./port/runestrncmp.c \
- ./port/runestrncpy.c \
- ./port/runestrrchr.c \
- ./port/runestrlen.c \
- ./port/runestrstr.c \
- ./port/runetype.c \
- ./port/sin.c \
- ./port/sinh.c \
- ./port/sqrt.c \
- ./port/strcat.c \
- ./port/strchr.c \
- ./port/strcmp.c \
- ./port/strcpy.c \
- ./port/strecpy.c \
- ./port/strcspn.c \
- ./port/strdup.c \
- ./port/strlen.c \
- ./port/strncat.c \
- ./port/strncmp.c \
- ./port/strncpy.c \
- ./port/strpbrk.c \
- ./port/strrchr.c \
- ./port/strspn.c \
- ./port/strstr.c \
- ./port/strtod.c \
- ./port/strtok.c \
- ./port/strtol.c \
- ./port/strtoll.c \
- ./port/strtoul.c \
- ./port/strtoull.c \
- ./port/tan.c \
- ./port/tanh.c \
- ./port/tokenize.c \
- ./port/toupper.c \
- ./port/utfecpy.c \
- ./port/utflen.c \
- ./port/utfnlen.c \
- ./port/utfrune.c \
- ./port/utfrrune.c \
- ./port/utfutf.c \
- ./port/u16.c \
- ./port/u32.c \
- ./port/u64.c \
- ./amd64/_seek.c \
- ./amd64/notejmp.c \
- ./amd64/cycles.c \
- ./amd64/argv0.c \
- ./amd64/rdpmc.c
- "
- BUILD_OUT="${LIB_DIR}/klibc.a"
- CLEAN_COM="rm -f *.o"
- }
- klibip()
- {
- 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"
- BUILD_OUT=${LIB_DIR}/klibip.a
- CLEAN_COM="rm -f *.o"
- }
- klibdraw()
- {
- BUILD_IN=" alloc.c\
- allocimagemix.c\
- arith.c\
- bezier.c\
- border.c\
- buildfont.c\
- bytesperline.c\
- chan.c\
- cloadimage.c\
- computil.c\
- creadimage.c\
- debug.c\
- defont.c\
- draw.c\
- drawrepl.c\
- egetrect.c\
- ellipse.c\
- emenuhit.c\
- event.c\
- fmt.c\
- font.c\
- freesubfont.c\
- getdefont.c\
- getrect.c\
- getsubfont.c\
- icossin.c\
- icossin2.c\
- init.c\
- keyboard.c\
- line.c\
- menuhit.c\
- mkfont.c\
- mouse.c\
- newwindow.c\
- openfont.c\
- poly.c\
- loadimage.c\
- readcolmap.c\
- readimage.c\
- readsubfont.c\
- rectclip.c\
- replclipr.c\
- rgb.c\
- scroll.c\
- string.c\
- stringbg.c\
- stringsubfont.c\
- stringwidth.c\
- subfont.c\
- subfontcache.c\
- subfontname.c\
- unloadimage.c\
- window.c\
- writecolmap.c\
- writeimage.c\
- writesubfont.c\
- "
- BUILD_OUT="${LIB_DIR}/klibdraw.a"
- CLEAN_COM="rm -f *.o"
- }
|