Use the headers from the libc directly

This commit is contained in:
Pierre Pronchery 2019-05-30 03:06:01 +02:00
parent 9caaf2127e
commit 1850d3c8c2
26 changed files with 13 additions and 690 deletions

View File

@ -1,34 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_CTYPE_H
# define UKERNEL_CTYPE_H
/* function prototypes */
int isalnum(int c);
# define isalnum(c) (isalpha(c) || isdigit(c))
int isalpha(int c);
# define isalpha(c) (islower(c) || isupper(c))
int isascii(int c);
int isblank(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
# define ispunct(c) (isprint(c) && (!(isspace(c) || isalnum(c))))
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int toascii(int c);
int tolower(int c);
# define _tolower(c) (c + 'a' - 'A')
int toupper(int c);
# define _toupper(c) (c + 'A' - 'a')
#endif /* !UKERNEL_CTYPE_H */

View File

@ -1,26 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_ERRNO_H
# define UKERNEL_ERRNO_H
/* constants */
# define EPERM 1
# define EBADF 9
# define ENOMEM 12
# define ENODEV 19
# define EINVAL 22
# define ERANGE 34
# define EAGAIN 35
# define ENOSYS 78
# define ENOTSUP 86
/* variables */
extern int errno;
#endif /* !UKERNEL_ERRNO_H */

View File

@ -1,72 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018-2019 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_FCNTL_H
# define UKERNEL_FCNTL_H
/* types */
struct flock
{
off_t l_start;
off_t l_len;
pid_t l_pid;
short l_type;
short l_whence;
};
/* constants */
# define F_DUPFD 0
# define F_GETFD 1
# define F_SETFD 2
# define F_GETFL 3
# define F_SETFL 4
# define F_GETOWN 5
# define F_SETOWN 6
# define F_GETLK 7
# define F_SETLK 8
# define F_SETLKW 9
# define FD_CLOEXEC 1
# define F_RDLCK 1
# define F_UNLCK 2
# define F_WRLCK 3
# define O_CREAT 0x0200
# define O_TRUNC 0x0400
# define O_EXCL 0x0800
# define O_NOCTTY 0x8000
# define O_NONBLOCK 0x00004
# define O_APPEND 0x00008
# define O_SYNC 0x00080
# define O_DSYNC 0x10000
# define O_RSYNC 0x20000
# define O_RDONLY 0
# define O_WRONLY 1
# define O_RDWR 2
# define O_ACCMODE (O_WRONLY | O_RDWR)
# define LOCK_SH 0x0
# define LOCK_EX 0x2
# define LOCK_NB 0x4
# define LOCK_UN 0x8
/* functions */
int creat(const char * filename, mode_t mode);
int faccessat(int fd, char const * path, int mode, int flags);
int fchownat(int fd, char const * path, uid_t uid, gid_t gid, int flags);
int fcntl(int fd, int cmd, ...);
int flock(int fd, int operation);
int open(char const * filename, int flags, ...);
int openat(int fd, char const * filename, int flags, ...);
#endif /* !UKERNEL_FCNTL_H */

View File

@ -1,70 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_LIMITS_H
# define UKERNEL_LIMITS_H
/* constants */
/* numerical */
# ifndef CHAR_BIT
# define CHAR_BIT 8
# endif
# ifndef CHAR_MAX
# define CHAR_MAX SCHAR_MAX
# endif
# ifndef CHAR_MIN
# define CHAR_MIN SCHAR_MIN
# endif
# ifndef SHRT_MAX
# define SHRT_MAX 0x7fff
# endif
# ifndef SHRT_MIN
# define SHRT_MIN -0x8000
# endif
# ifndef INT_MAX
# define INT_MAX 0x7fffffff
# endif
# ifndef INT_MIN
# define INT_MIN -0x80000000
# endif
# ifndef LONG_MAX
# ifdef _LP64 /* FIXME probably sometimes wrong */
# define LONG_MAX 0x7fffffffffffffff
# else
# define LONG_MAX 0x7fffffff
# endif
# endif
# ifndef LONG_MIN
# ifdef _LP64 /* FIXME probably sometimes wrong */
# define LONG_MIN 0x8000000000000000
# else
# define LONG_MIN -0x80000000
# endif
# endif
# ifndef SCHAR_MAX
# define SCHAR_MAX 0x7f
# endif
# ifndef SCHAR_MIN
# define SCHAR_MIN -0x80
# endif
# ifndef SSIZE_MAX
# define SSIZE_MAX LONG_MAX
# endif
# ifndef SSIZE_MIN
# define SSIZE_MIN LONG_MIN
# endif
# ifndef UCHAR_MAX
# define UCHAR_MAX 0xff
# endif
# ifndef USHRT_MAX
# define USHRT_MAX 0xffff
# endif
# ifndef UINT_MAX
# define UINT_MAX 0xffffffff
# endif
#endif /* !UKERNEL_LIMITS_H */

View File

@ -1,2 +1,2 @@
subdirs=kernel,sys
dist=Makefile,ctype.h,elf.h,errno.h,fcntl.h,limits.h,ssp.h,stdarg.h,stdbool.h,stddef.h,stdint.h,stdio.h,stdlib.h,string.h,time.h,unistd.h
subdirs=kernel
dist=Makefile,ssp.h

View File

@ -1,40 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STDARG_H
# define UKERNEL_STDARG_H
/* types */
# ifndef va_list
# define va_list va_list
# if defined(__GNUC__) && __GNUC__ >= 3
typedef __builtin_va_list va_list;
# else
# warning Unsupported architecture: va_list is not supported
typedef char * va_list;
# endif
# endif
/* macros */
# if defined(__GNUC__) && __GNUC__ >= 3
# define va_start(ap, arg) __builtin_va_start((ap), (arg))
# define va_arg __builtin_va_arg
# define va_copy __builtin_va_copy
# define va_end(ap) __builtin_va_end((ap))
# else
/* XXX works only in particular cases */
# define va_start(ap, arg) ((ap) = ((va_list)&(arg)) \
+ ((sizeof(long) > sizeof(arg)) ? sizeof(long) : sizeof(arg)))
# define va_arg(ap, type) *(type *)(ap), \
((ap) += ((sizeof(long) > sizeof(type)) ? sizeof(long) : sizeof(type)))
# define va_copy(copy, arg) ((copy) = (arg))
# define va_end(ap)
# endif
#endif /* !UKERNEL_STDARG_H */

View File

@ -1,22 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STDDEF_H
# define UKERNEL_STDDEF_H
/* types */
# ifndef size_t
# define size_t size_t
typedef unsigned long size_t;
# endif
/* constants */
# ifndef NULL
# define NULL ((void *)0)
# endif
#endif /* !UKERNEL_STDDEF_H */

View File

@ -1,89 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STDINT_H
# define UKERNEL_STDINT_H
/* types */
# ifdef __INT8_TYPE__
typedef __INT8_TYPE__ int8_t;
# else
typedef char int8_t;
# endif
# ifdef __INT16_TYPE__
typedef __INT16_TYPE__ int16_t;
# else
typedef short int int16_t;
# endif
# ifdef __INT32_TYPE__
typedef __INT32_TYPE__ int32_t;
# else
typedef int int32_t;
# endif
# ifdef __INT64_TYPE__
typedef __INT64_TYPE__ int64_t;
# else
typedef long long int64_t;
# endif
# ifdef __UINT8_TYPE__
typedef __UINT8_TYPE__ uint8_t;
# else
typedef unsigned char uint8_t;
# endif
# ifdef __UINT16_TYPE__
typedef __UINT16_TYPE__ uint16_t;
# else
typedef unsigned short uint16_t;
# endif
# ifdef __UINT32_TYPE__
typedef __UINT32_TYPE__ uint32_t;
# else
typedef unsigned int uint32_t;
# endif
# ifdef __UINT64_TYPE__
typedef __UINT64_TYPE__ uint64_t;
# else
typedef unsigned long long uint64_t;
# endif
# ifndef uintptr_t
# define uintptr_t uintptr_t
typedef unsigned long uintptr_t;
# endif
typedef unsigned long size_t;
/* constants */
# define INT8_MAX 0x7f
# define INT16_MAX 0x7fff
# define INT32_MAX 0x7fffffff
# define INT64_MAX 0x7fffffffffffffff
# define INT8_MIN (-INT8_MAX - 1)
# define INT16_MIN (-INT16_MAX - 1)
# define INT32_MIN (-INT32_MAX - 1)
# define INT64_MIN (-INT64_MAX - 1)
# define UINT8_MAX 0xff
# define UINT16_MAX 0xffff
# define UINT32_MAX 0xffffffff
# define UINT64_MAX 0xffffffffffffffff
# ifndef ULONG_MAX
# ifdef _LP64 /* FIXME probably sometimes wrong */
# define ULONG_MAX 0xffffffffffffffff
# else
# define ULONG_MAX 0xffffffff
# endif
# endif
# ifndef SIZE_MAX
# define SIZE_MAX ULONG_MAX
# endif
#endif /* !UKERNEL_STDINT_H */

View File

@ -1,124 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018-2019 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STDIO_H
# define UKERNEL_STDIO_H
# include <stddef.h>
/* types */
# ifndef FILE
# define FILE FILE
typedef struct _FILE FILE;
# endif
# ifndef off_t
# define off_t off_t
typedef long long off_t;
# endif
# ifndef va_list
# define va_list va_list
typedef __builtin_va_list va_list;
# endif
/* constants */
/* size of <stdio.h> buffers */
# define BUFSIZ 8192
# define _IOFBF 0
# define _IOLBF 1
# define _IONBF 2
/* end-of-file return value */
# define EOF (-1)
/* maximum size of character array to hold ctermid() output */
# ifndef L_ctermid
# define L_ctermid 256
# endif
/* maximum size of character array to hold tmpnam() output */
# ifndef L_tmpnam
# define L_tmpnam 1024
# endif
/* default directory prefix for tempnam() */
# ifndef P_tmpdir
# define P_tmpdir "/tmp"
# endif
/* variables */
/* standard input, output, and error streams */
extern FILE * stdin;
extern FILE * stdout;
extern FILE * stderr;
/* functions */
void clearerr(FILE * file);
char * ctermid(char * buf);
int fclose(FILE * file);
FILE * fdopen(int fildes, char const * mode);
int feof(FILE * file);
int ferror(FILE * file);
int fflush(FILE * file);
int fgetc(FILE * file);
char * fgets(char * str, int size, FILE * file);
int fileno(FILE * file);
void flockfile(FILE * file);
FILE * fmemopen(void * buffer, size_t size, char const * mode);
FILE * fopen(char const * path, char const * mode);
int fprintf(FILE * file, char const * format, ...);
int fputc(int c, FILE * file);
int fputs(char const * str, FILE * file);
size_t fread(void * ptr, size_t size, size_t nb, FILE * file);
FILE * freopen(char const * path, char const * mode, FILE * file);
int fscanf(FILE * file, char const * format, ...);
int fseek(FILE * file, long offset, int whence);
int fseeko(FILE * file, off_t offset, int whence);
long ftell(FILE * file);
int ftrylock(FILE * file);
void funlockfile(FILE * file);
size_t fwrite(void const * ptr, size_t size, size_t nb, FILE * file);
int getc(FILE * file);
int getc_unlocked(FILE * file);
int getchar(void);
int getchar_unlocked(void);
int pclose(FILE * stream);
void perror(char const * str);
FILE * popen(char const * command, char const * mode);
int printf(char const * format, ...);
int putc(int c, FILE * file);
int putc_unlocked(int c, FILE * file);
int putchar(int c);
int putchar_unlocked(int c);
int puts(char const * str);
int remove(char const * path);
int rename(char const * from, char const * to);
int renameat(int fromfd, char const * from, int tofd, char const * to);
void rewind(FILE * file);
int scanf(char const * format, ...);
void setbuf(FILE * file, char * buf);
int setvbuf(FILE * file, char * buf, int type, size_t size);
int snprintf(char * str, size_t size, char const * format, ...);
int sprintf(char * str, char const * format, ...);
int sscanf(char const * str, char const * format, ...);
char * tempnam(char const * dir, char const * prefix);
FILE * tmpfile(void);
char * tmpnam(char * str);
int ungetc(int c, FILE * file);
int vfprintf(FILE * file, char const * format, va_list arg);
int vfscanf(FILE * file, char const * format, va_list arg);
int vprintf(char const * format, va_list arg);
int vscanf(char const * format, va_list arg);
int vsnprintf(char * str, size_t size, char const * format, va_list arg);
int vsprintf(char * str, char const * format, va_list arg);
int vsscanf(char const * str, char const * format, va_list arg);
#endif /* !UKERNEL_STDIO_H */

View File

@ -1,26 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STDLIB_H
# define UKERNEL_STDLIB_H
# include <stddef.h>
# include <stdint.h>
/* prototypes */
void abort(void);
int abs(int x);
uint32_t arc4random(void);
void * calloc(size_t nmemb, size_t size);
void exit(int status);
void free(void * ptr);
long labs(long x);
long long llabs(long long x);
void * malloc(size_t size);
void * realloc(void * ptr, size_t size);
#endif /* !UKERNEL_STDLIB_H */

View File

@ -1,25 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_STRING_H
# define UKERNEL_STRING_H
# include <stddef.h>
# include <stdint.h>
/* prototypes */
int memcmp(void const * s1, void const * s2, size_t n);
void * memcpy(void * dest, void const * src, size_t n);
void * memmove(void * dest, void const * src, size_t n);
void * memset(void * dest, int c, size_t n);
int strcmp(char const * s1, char const * s2);
char * strcpy(char * dest, char const * src);
size_t strlen(char const * s);
int strncmp(char const * s1, char const * s2, size_t n);
char * strncpy(char * dest, char const * src, size_t n);
#endif /* !UKERNEL_STRING_H */

View File

@ -1,48 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_SYS_MMAN_H
# define UKERNEL_SYS_MMAN_H
/* types */
# ifndef mode_t
# define mode_t mode_t
typedef unsigned int mode_t;
# endif
# ifndef off_t
# define off_t off_t
typedef long long off_t;
# endif
# ifndef size_t
# define size_t size_t
typedef unsigned long size_t;
# endif
/* constants */
# define MAP_FAILED ((void *)-1)
# define MAP_SHARED 0x0001
# define MAP_PRIVATE 0x0002
# define MAP_FIXED 0x0010
# define MAP_ANONYMOUS 0x1000
# define PROT_NONE 0x0
# define PROT_READ 0x1
# define PROT_WRITE 0x2
# define PROT_EXEC 0x4
/* functions */
int mlock(const void * addr, size_t length);
void * mmap(void * addr, size_t length, int prot, int flags, int fd,
off_t offset);
int mprotect(void * addr, size_t length, int prot);
int munlock(const void * addr, size_t length);
int munmap(void * addr, size_t length);
#endif /* !UKERNEL_SYS_MMAN_H */

View File

@ -1 +0,0 @@
dist=Makefile,mman.h,types.h

View File

@ -1,29 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_SYS_TYPES_H
# define UKERNEL_SYS_TYPES_H
/* types */
# ifndef paddr_t
# define paddr_t paddr_t
typedef unsigned long paddr_t;
# endif
# ifndef size_t
# define size_t size_t
typedef unsigned long size_t;
# endif
# ifndef ssize_t
# define ssize_t ssize_t
typedef long ssize_t;
# endif
# ifndef vaddr_t
# define vaddr_t vaddr_t
typedef unsigned long vaddr_t;
# endif
#endif /* !UKERNEL_SYS_TYPES_H */

View File

@ -1,21 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_TIME_H
# define UKERNEL_TIME_H
/* types */
# ifndef time_t
# define time_t time_t
typedef long long time_t;
# endif
/* functions */
time_t time(time_t * t);
#endif /* !UKERNEL_TIME_H */

View File

@ -1,50 +0,0 @@
/* $Id$ */
/* Copyright (c) 2018-2019 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS uKernel */
#ifndef UKERNEL_UNISTD_H
# define UKERNEL_UNISTD_H
/* types */
# ifndef intptr_t
# define intptr_t intptr_t
typedef long intptr_t;
# endif
# ifndef off_t
# define off_t off_t
typedef long long off_t;
# endif
# ifndef pid_t
# define pid_t pid_t
typedef int pid_t;
# endif
# ifndef size_t
# define size_t size_t
typedef unsigned long size_t;
# endif
# ifndef ssize_t
# define ssize_t ssize_t
typedef long ssize_t;
# endif
/* constants */
/* file streams */
# define STDIN_FILENO 0
# define STDOUT_FILENO 1
# define STDERR_FILENO 2
/* prototypes */
int brk(void * addr);
void _exit(int status);
pid_t getpid(void);
pid_t getppid(void);
ssize_t read(int fildes, void * buf, size_t count);
void * sbrk(intptr_t increment);
ssize_t write(int fildes, const void * buf, size_t count);
#endif /* !UKERNEL_UNISTD_H */

View File

@ -1,7 +1,7 @@
targets=multiboot.o
as=$(CC)
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
asflags_force=$(CFLAGSF) $(CFLAGS) -c
cflags_force=`../../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2

View File

@ -1,5 +1,5 @@
targets=cmos.o,ioport.o,tty.o,vga.o
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
as=$(CC)
cc=$(CROSS)gcc
asflags_force=$(CFLAGSF) $(CFLAGS) -c

View File

@ -1,6 +1,6 @@
targets=cmos.o,sys.o
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
cflags_force=`../../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2
ldflags_force=`../../../tools/platform.sh -V UKERNEL_LDFLAGS -C "$$ARCH"`

View File

@ -1,6 +1,6 @@
targets=stdio.o,uart.o
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
cflags_force=`../../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2
ldflags_force=`../../../tools/platform.sh -V UKERNEL_LDFLAGS -C "$$ARCH"`

View File

@ -1,6 +1,6 @@
targets=vesa.o,vga.o
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
cflags_force=`../../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2
ldflags_force=`../../../tools/platform.sh -V UKERNEL_LDFLAGS -C "$$ARCH"`

View File

@ -1,6 +1,6 @@
targets=i8259a.o
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../../include -I../..
cppflags_force=-nostdinc -isystem ../../../include -isystem ../../../src/lib/libc/include -I../..
cflags_force=`../../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2
ldflags_force=`../../../tools/platform.sh -V UKERNEL_LDFLAGS -C "$$ARCH"`

View File

@ -2,7 +2,7 @@ subdirs=boot,bus,clock,console,display,pic
targets=bus.o,clock.o,console.o,display.o,pic.o
as=$(CC)
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../include -I..
cppflags_force=-nostdinc -isystem ../../include -isystem ../../src/lib/libc/include -I..
asflags_force=$(CFLAGSF) $(CFLAGS) -c
cflags_force=`../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2

View File

@ -1,7 +1,7 @@
targets=crtbegin.o,crtend.o,crti.o,crtn.o,uKernel.bin
as=$(CC)
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../include -I..
cppflags_force=-nostdinc -isystem ../../include -isystem ../../src/lib/libc/include -I..
asflags_force=$(CFLAGSF) $(CFLAGS) -c
cflags_force=`../../tools/platform.sh -V UKERNEL_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2

View File

@ -1,7 +1,7 @@
targets=crtbegin.o,crtend.o,crti.o,crtn.o,libuLoader,uLoader.bin
as=$(CC)
cc=$(CROSS)gcc
cppflags_force=-nostdinc -isystem ../../include -I..
cppflags_force=-nostdinc -isystem ../../include -isystem ../../src/lib/libc/include -I..
asflags_force=$(CFLAGSF) $(CFLAGS) -c
cflags=-W -Wall -g -O2
dist=Makefile

View File

@ -1,7 +1,7 @@
subdirs=arch
targets=crtbegin.o,crtend.o,crti.o,crtn.o,libk,start.o,uKernel
as=$(CC)
cppflags_force=-nostdinc -isystem ../include -I../src
cppflags_force=-nostdinc -isystem ../include -isystem ../src/lib/libc/include -I../src
asflags_force=$(CFLAGSF) $(CFLAGS) -c
cflags_force=`../tools/platform.sh -V NATIVE_CFLAGS -C "$$ARCH"`
cflags=-W -Wall -g -O2
@ -53,7 +53,7 @@ depends=../src/common/crti.S,../src/arch/amd64/crti.S,../src/arch/i386/crti.S
depends=../src/common/crtn.S,../src/arch/amd64/crtn.S,../src/arch/i386/crtn.S
[lib.c]
depends=../src/lib/ctype.c,../src/lib/errno.c,../src/lib/ssp.c,../src/lib/stdio.c,../src/lib/stdlib.c,../src/lib/string.c,../src/lib/sys/mman.c,../src/lib/time.c,../src/lib/unistd.c
depends=../src/lib/libc/src/ctype.c,../src/lib/libc/src/errno.c,../src/lib/libc/src/ssp.c,../src/lib/libc/src/stdio.c,../src/lib/libc/src/stdlib.c,../src/lib/libc/src/string.c,../src/lib/libc/src/sys/mman.c,../src/lib/libc/src/time.c,../src/lib/libc/src/unistd.c
[main.c]
depends=../src/kernel/main.c