Makefile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #
  2. # Copyright (C) 2006-2010 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/image.mk
  9. define Image/Prepare
  10. cp $(LINUX_DIR)/linux $(KDIR)/vmlinux.elf
  11. endef
  12. define Image/Build/squashfs
  13. dd if=/dev/zero of=$(KDIR)/root.squashfs bs=1024k count=0 seek=$(CONFIG_TARGET_ROOTFS_PARTSIZE)
  14. endef
  15. define Image/Build
  16. $(call Image/Build/$(1))
  17. cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
  18. cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux
  19. endef
  20. $(eval $(call BuildImage))
  21. # UML requires linking against several glibc static libraries: libutil, librt
  22. # and libpthread, check that here. We do not check against libpthread
  23. # specifically because getting something to build that references a libpthread
  24. # symbol is pretty involved and Linux distributions package these 3 libraries
  25. # in the same package.
  26. $(eval $(call TestHostCommand,glibc-static, \
  27. Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
  28. echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
  29. gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))