APE=/sys/src/ape < $APE/config L=/$objtype/lib/ape/libap.a #L=libap.a$O BUILTINS= NREP=2 CFLAGS=-D_POSIX_SOURCE EXTRAOBJS=`{extraobjs} STDIO=U=S__IO_getc S__IO_putc S__dtoa S__fconv S_clearerr S_fclose \ S_feof S_ferror S_fflush S_fgetc \ S_fgetpos S_fgets S_fopen S_fprintf S_fputc S_fputs S_fread S_freopen \ S_fscanf S_fseek S_fsetpos S_ftell S_ftoa S_fwrite S_getc S_getchar \ S_gets S_perror S_printf S_putc S_putchar S_puts S_rdline S_remove \ 9_rename S_rewind S_scanf S_sclose S_setbuf \ S_setvbuf S_sopenr S_sopenw S_sprintf S_sscanf S_stdio S_strerror S_strtod \ 9_tmpfile S_tmpnam S_ungetc S_vfprintf S_vfscanf S_vprintf S_vsprintf S_exit \ S_fileno S_pow10 S_fdopen MATH=U= M_asin M_atan M_atan2 M_erf M_exp M_fabs M_floor M_fmod M_gamma M_hypot \ M_j0 M_j1 M_jn M_log M_pow M_sin M_sinh 9_sqrt M_tan M_tanh \ 9_frexp # machine specific string/mem stuff from extraobjs: # strcat strchr strcmp strcpy strlen strncmp strrchr # memchr memcmp memcpy memmove memset STRING=U=G_strcoll G_strcspn G_strncat G_strncpy G_strpbrk G_strspn \ G_strstr G_strtok G_strxfrm \ G_itoa G_itol GEN=U=9_malloc 9_brk G_ctype G_strtol G_strtoul \ G_atoi G_atol G_atof 9_system 9_ctime G_div G_ldiv \ 9__exit G_toupper G_isalnum G_abs G__assert \ G_rand G_qsort G_bsearch G_clock G_difftime G_mktime G_mbwc \ G_strftime 9_raise POSIX=U= 9_access 9_alarm 9_chdir 9_chmod 9_chown 9_close \ 9_creat 9_ctermid 9_cuserid 9_dirtostat \ 9_dup 9_execl 9_execle 9_execlp \ 9_execv 9_execve 9_execvp 9_fcntl \ 9_fork 9_fstat 9_getcwd \ G_getenv 9_getgid 9_getgrgid \ 9_getgrnam 9_getlogin 9_getpid 9_getpgrp 9_getppid \ 9_getpwnam 9_getpwuid 9_getuid 9_isatty \ 9_kill 9_link P_locale 9_lseek 9_mkdir P_mkfifo 9_open \ 9_opendir P_pathconf 9_pause 9_pipe 9_read \ 9_rmdir 9_setgid 9${O}_setjmp 9_setpgid 9_setsid 9_setuid P_sigset 9_signal \ 9_sigaction 9_sigprocmask 9_sigpending 9_sigsuspend 9_sleep 9_stat \ P_sysconf 9_tcgetattr 9_time 9_times 9_ttyname P_tzset 9_uname \ 9_umask 9_unlink 9_utime 9_wait 9_write \ G_calloc S_abort $EXTRAOBJS EXTRA=U=9__envsetup 9__buf 9__dirconv 9__errno 9__fcall 9__getpw 9__nap \ 9_select 9_pcons 9_profile 9${O}__ALARM 9${O}__BIND 9${O}__BRK_ \ 9${O}__CHDIR 9${O}__CLOSE 9${O}__CREATE 9${O}__DUP \ 9${O}__ERRSTR 9${O}__EXEC 9${O}__EXITS \ 9${O}__FSTAT 9${O}__FWSTAT 9${O}__MOUNT 9${O}__NOTED 9${O}__NOTIFY \ 9${O}__OPEN 9${O}__PIPE 9${O}__READ 9${O}__REMOVE 9${O}__RENDEZVOUS \ 9${O}__RFORK 9${O}__SEEK 9${O}__SEGATTACH 9${O}__SEGBRK 9${O}__SEGDETACH \ 9${O}__SEGFLUSH 9${O}__SEGFREE 9${O}__SLEEP 9${O}__STAT 9${O}__UNMOUNT \ 9${O}__WAIT 9${O}__WRITE 9${O}__WSTAT \ 9${O}_main9 9${O}_main9p \ 9_Xaccess 9_Xchdir 9_Xcreat 9_Xlink 9_Xopen 9_Xstat 9_Xunlink # toupper has tolower # isalnum has isalpha, iscntrl, isdigit, isgraph, islower, isprint, # ispunct, isspace, isupper, isxdigit # ctime has localtime, gmtime, asctime # opendir has closedir, readdir, rewinddir # _envsetup has environ, errno # getuid has geteuid # getgid has getegid # sigemptyset has sigfillset, sigaddset, sigdelset, sigismember # abs has labs # locale has setlocale, localeconv # rand has srand NAMES=U=$STDIO $MATH $STRING $GEN $POSIX $EXTRA OBJ=U=${NAMES:%=$L(%.$O)} install:V: $L $M $MP compile:V: $L $M $MP test:VQ: echo libap has no test clean:V: rm -f *.[$OS] *.a[$OS] nuke:V: clean rm -f $L installall:V: for (objtype in $CPUS) mk install $L:NQ: $OBJ flag e - names=`{membername $newprereq} $AR rv $L $names && rm -f $names $RANLIB $L $L(%.$O):N: %.$O S_%.$O: stdio/%.c $CC $CFLAGS -I. -c $prereq && cp $stem.$O $target && rm $stem.$O M_%.$O: math/%.c $CC $CFLAGS -I. -c $prereq && cp $stem.$O $target && rm $stem.$O G_%.$O: gen/%.c $CC $CFLAGS -I. -c $prereq && cp $stem.$O $target && rm $stem.$O P_%.$O: posix/%.c $CC $CFLAGS -I. -c $prereq && cp $stem.$O $target && rm $stem.$O 9_%.$O: plan9/%.c $CC $CFLAGS -I. -c $prereq && cp $stem.$O $target && rm $stem.$O plan9/X%.c:D: plan9/%.c sed 's/^'$"stem'\(/__&/' < $prereq > $target plan9/Xcreat.c:D: plan9/creat.c sed 's/^creat\(/__&/ s/open\(/__&/' < $prereq > $target 9v_%.$O: plan9mips/%.s $AS $prereq && cp $stem.$O $target && rm $stem.$O 92_%.$O: plan968020/%.s $AS $prereq && cp $stem.$O $target && rm $stem.$O 9k_%.$O: plan9sparc/%.s $AS $prereq && cp $stem.$O $target && rm $stem.$O 98_%.$O: plan9386/%.s $AS $prereq && cp $stem.$O $target && rm $stem.$O 9z_%.$O: plan9hobbit/%.s $AS $prereq && cp $stem.$O $target && rm $stem.$O ######## exceptions...