user-mode-linux.mk 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #############################################################
  2. #
  3. # Linux kernel targets
  4. #
  5. #############################################################
  6. UMLINUX_DIR=$(BUILD_DIR)/linux
  7. UMLINUX_SOURCE=linux-2.4.18.tar.bz2
  8. UMLINUX_SITE=http://ftp.us.kernel.org/pub/linux/kernel/v2.4
  9. UMLINUX_PATCH_1:=uml-patch-2.4.18-19.bz2
  10. UMLINUX_PATCH_1_SITE:=http://telia.dl.sourceforge.net/sourceforge/user-mode-linux
  11. UMLINUX_KCONFIG=$(SOURCE_DIR)/linux-uml.config
  12. $(DL_DIR)/$(UMLINUX_SOURCE):
  13. wget -P $(DL_DIR) --passive-ftp $(UMLINUX_SITE)/$(UMLINUX_SOURCE)
  14. $(DL_DIR)/$(UMLINUX_PATCH_1):
  15. wget -P $(DL_DIR) --passive-ftp $(UMLINUX_PATCH_1_SITE)/$(UMLINUX_PATCH_1)
  16. user-mode-linux-source: $(DL_DIR)/$(UMLINUX_SOURCE) $(DL_DIR)/$(UMLINUX_PATCH_1)
  17. $(UMLINUX_DIR)/.unpacked: $(DL_DIR)/$(UMLINUX_SOURCE) $(DL_DIR)/$(UMLINUX_PATCH_1)
  18. bzcat $(DL_DIR)/$(UMLINUX_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  19. touch $(UMLINUX_DIR)/.unpacked
  20. $(UMLINUX_DIR)/.patched: $(UMLINUX_DIR)/.unpacked
  21. bzcat $(DL_DIR)/$(UMLINUX_PATCH_1) | patch -d $(UMLINUX_DIR) -p1
  22. touch $(UMLINUX_DIR)/.patched
  23. $(UMLINUX_DIR)/.set_arch: $(UMLINUX_DIR)/.patched
  24. perl -i -p -e "s/^ARCH :=.*/ARCH:=um/g;" $(UMLINUX_DIR)/Makefile
  25. touch $(UMLINUX_DIR)/.set_arch
  26. $(UMLINUX_DIR)/.configured: $(UMLINUX_DIR)/.set_arch $(UMLINUX_KCONFIG)
  27. cp $(UMLINUX_KCONFIG) $(UMLINUX_DIR)/.config
  28. make -C $(UMLINUX_DIR) oldconfig include/linux/version.h
  29. touch $(UMLINUX_DIR)/.configured
  30. $(UMLINUX_DIR)/.depend_done: $(UMLINUX_DIR)/.configured
  31. make -C $(UMLINUX_DIR) dep
  32. touch $(UMLINUX_DIR)/.depend_done
  33. $(UMLINUX_DIR)/linux: $(UMLINUX_DIR)/.depend_done
  34. make -C $(UMLINUX_DIR) linux
  35. $(LINUX_KERNEL): $(UMLINUX_DIR)/linux
  36. cp -fa $(UMLINUX_DIR)/linux $(LINUX_KERNEL)
  37. user-mode-linux: $(LINUX_KERNEL)
  38. # Renamed so it is not cleaned by default on a make clean
  39. user-mode-linux_clean: clean
  40. rm -f $(LINUX_KERNEL)
  41. -make -C $(UMLINUX_DIR) clean
  42. user-mode-linux-dirclean:
  43. rm -rf $(UMLINUX_DIR)