c8ed874d151d38a03e68b7d4a8b127649c64bf05
[openwrt/staging/stintel.git] / target / linux / uml / image / Makefile
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
10 define Image/Prepare
11 cp $(LINUX_DIR)/linux $(KDIR)/vmlinux.elf
12 endef
13
14 define Image/Build/squashfs
15 dd if=/dev/zero of=$(KDIR)/root.squashfs bs=1024k count=0 seek=$(CONFIG_TARGET_ROOTFS_PARTSIZE)
16 endef
17
18 define Image/Build
19 $(call Image/Build/$(1))
20 cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
21 cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux
22 endef
23
24 $(eval $(call BuildImage))
25
26 # UML requires linking against several glibc static libraries: libutil, librt
27 # and libpthread, check that here. We do not check against libpthread
28 # specifically because getting something to build that references a libpthread
29 # symbol is pretty involved and Linux distributions package these 3 libraries
30 # in the same package.
31
32 $(eval $(call TestHostCommand,glibc-static, \
33 Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
34 echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
35 gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))