summaryrefslogtreecommitdiff
path: root/polux/package/linux/linux.mk
blob: 8e2bc819ca3fe6bc73b6c3201e6c4a5169353b3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#############################################################
#
# linux
#
#############################################################
ifeq ($(BR2_CONFIG_SLAVE),y)
	TYPE=slave
else
	TYPE=all
endif
ifeq ($(CONFIG_ARCH_SPC200E),y)
	BOARD_TYPE=spc200e
else
	BOARD_TYPE=spc200c
endif
IMAGE_DIR=$(TOPDIR)/images
IMAGE_NAME=bootpImage-$(BOARD_TYPE)-$(TYPE)-$(shell date +"%Y%m%d-%H%M")
MKIMAGEDESC=$(TOPDIR)/tools/mkimagedesc/mkimagedesc

ifeq ($(BR2_CONFIG_MARCH_SPC200C),y)
KBUILD_DEFCONFIG :=spc200c_defconfig
else
KBUILD_DEFCONFIG :=spc200e_defconfig
endif

$(LINUX_DIR)/.config:
	$(MAKE) -C $(LINUX_DIR) $(KBUILD_DEFCONFIG)

$(LINUX_DIR)/arch/arm/boot/zImage: $(LINUX_DIR)/.config
	$(MAKE) -C $(LINUX_DIR) zImage

$(IMAGE_DIR)/$(IMAGE_NAME): $(LINUX_DIR)/arch/arm/boot/zImage
	$(MAKE) -C $(LINUX_DIR) modules
	@mkdir -p $(IMAGE_DIR);

ifeq ($(BR2_CONFIG_SLAVE),y)
#	Append image desc to zImage (slave only)
	@ksize=$(shell du -sb $< | awk '{ print $$1 }'); \
	kmd5=$(shell md5sum $< | awk '{ print $$1 }');   \
    kver=$(shell cat $(TOPDIR)/include/plc-drv/version.h | grep -o [0-9].*[^\"])$(shell if [ -f $(TOPDIR)/.version ]; then echo -`cat $(TOPDIR)/.version`; fi); \
	$(MKIMAGEDESC)	--desc "SPC200 image"    \
			--ver  "$$kver"                  \
			--size "$$ksize"                 \
			--md5  "$$kmd5"                  \
			--platform $(BOARD_TYPE) > $@; \
	if [ "$$ksize" -ge "1768448" ]; then echo "Error, image generated too big for a slave image"; else cat $< >> $@; fi;
else
#	Simply copy zImage (master)
	@cp $< $@;
	@md5sum $@ > $@.md5;
	@echo $(BOARD_TYPE) >> $@.md5;
endif
# 	For compatibility purposes
	@if [ "$(FTP_HOME)" != "" ]; then \
		echo "Copying $@ to $(FTP_HOME)/bootpImage"; \
		cp $@ $(FTP_HOME)/bootpImage; \
	fi

linux: initramfs tools $(IMAGE_DIR)/$(IMAGE_NAME)

linux-config: $(LINUX_DIR)/.config
	$(MAKE) -C $(LINUX_DIR) menuconfig

linux-clean:
	$(MAKE) -C $(LINUX_DIR) clean

linux-mrproper: linux-clean
	$(MAKE) -C $(LINUX_DIR) distclean

.PHONY: $(LINUX_DIR)/arch/arm/boot/zImage

###########################################################
#
# Toplevel Makefile options
#
#############################################################
#TARGETS+=linux