Makefile 964 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. all: libc
  2. CFLAGS += -I .
  3. libc_sub_dirs=math sys
  4. ifeq ($(ARCH), __x86_64__)
  5. libc_sub_dirs += sysdeps/x86_64
  6. endif
  7. libc: unistd.o fcntl.o malloc.o errno.o printf.o stdlib.o ctype.o string.o dirent.o time.o
  8. @list='$(libc_sub_dirs)'; for subdir in $$list; do \
  9. echo "make all in $$subdir";\
  10. cd $$subdir;\
  11. $(MAKE) all CFLAGS="$(CFLAGS) -I $(shell pwd)";\
  12. cd ..;\
  13. done
  14. unistd.o: unistd.c
  15. gcc $(CFLAGS) -c unistd.c -o unistd.o
  16. fcntl.o: fcntl.c
  17. gcc $(CFLAGS) -c fcntl.c -o fcntl.o
  18. malloc.o: malloc.c
  19. gcc $(CFLAGS) -c malloc.c -o malloc.o
  20. errno.o: errno.c
  21. gcc $(CFLAGS) -c errno.c -o errno.o
  22. printf.o: printf.c
  23. gcc $(CFLAGS) -c printf.c -o printf.o
  24. stdlib.o: stdlib.c
  25. gcc $(CFLAGS) -c stdlib.c -o stdlib.o
  26. ctype.o: ctype.c
  27. gcc $(CFLAGS) -c ctype.c -o ctype.o
  28. string.o: string.c
  29. gcc $(CFLAGS) -c string.c -o string.o
  30. dirent.o: dirent.c
  31. gcc $(CFLAGS) -c dirent.c -o dirent.o
  32. time.o: time.c
  33. gcc $(CFLAGS) -c time.c -o time.o