Makefile 657 B

12345678910111213141516171819202122232425262728293031323334353637
  1. SUBDIRS = kernel user
  2. export ARCH=__x86_64__
  3. export ROOT_PATH=$(shell pwd)
  4. export DEBUG=DEBUG
  5. export GLOBAL_CFLAGS := -mcmodel=large -fno-builtin -m64 -O0 -fno-stack-protector -D $(ARCH)
  6. ifeq ($(DEBUG), DEBUG)
  7. GLOBAL_CFLAGS += -g
  8. endif
  9. .PHONY: all
  10. all:
  11. mkdir -p bin/kernel/
  12. mkdir -p bin/user/
  13. mkdir -p bin/tmp/
  14. @list='$(SUBDIRS)'; for subdir in $$list; do \
  15. echo "make all in $$subdir";\
  16. cd $$subdir;\
  17. $(MAKE) all;\
  18. cd ..;\
  19. done
  20. .PHONY: clean
  21. clean:
  22. @list='$(SUBDIRS)'; for subdir in $$list; do \
  23. echo "Clean in dir: $$subdir";\
  24. cd $$subdir && $(MAKE) clean;\
  25. cd .. ;\
  26. done
  27. gdb:
  28. gdb -n -x tools/.gdbinit