summaryrefslogtreecommitdiff
path: root/cleopatre/buildroot/target/device/Spidcom/Makefile.in
blob: 740935327af871f85280eba90f722776365ff491 (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
78
79
# Override the default uClibc configuration
ifeq ($(strip $(BR2_TARGET_SPIDCOM)),y)

TARGET_SKELETON = target/device/Spidcom/target_skeleton

ifeq ($(strip $(BR2_TARGET_SPIDCOM_ARIZONA)),y)
include target/device/Spidcom/arizona/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_MSE500DINI_300)),y)
include target/device/Spidcom/mse500dini_300/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SPK300G)),y)
include target/device/Spidcom/spk300g/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SPK300)),y)
include target/device/Spidcom/spk300/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SPK310)),y)
include target/device/Spidcom/spk310/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SCR310)),y)
include target/device/Spidcom/scr310/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SPR300)),y)
include target/device/Spidcom/spr300/Makefile.in
endif

ifeq ($(strip $(BR2_TARGET_SPIDCOM_SPR310)),y)
include target/device/Spidcom/spr310/Makefile.in
endif

BUNDLE_VERSION = tag-$(shell git describe --always 2>/dev/null)
LINUX_DOT_VERSION = $(shell cat $(LINUX_DIR)/.version 2>/dev/null || echo 0)
IMG_VERSION = $(shell cat $(BASE_DIR)/.version 2>/dev/null | sed -e 's/\(.\{16\}\).*/\1/')
LINUX26_MAKE_EXTRA_FLAGS+=KBUILD_BUILD_VERSION="$(LINUX_DOT_VERSION)($(BUNDLE_VERSION))"
LINUX26_MAKE_EXTRA_FLAGS+=IMG_VERSION="$(IMG_VERSION)"
LINUX26_MAKE_EXTRA_FLAGS+=PLC_MEM_SIZE_MB="$(BR2_TARGET_SPIDCOM_PLC_MEM_SIZE_MB)"

# change the original BASE_TARGETS to create needed linux source links
BASE_TARGETS = check_linux_link uclibc kernel-headers

# now some funny trick to adapt buildroot to the modified linux sources
# 1: create a fake linux-2.6.25.10.tar.bz2 archive in download dir
# 2: create a link to linux spc300 sources inside project_build dir for image generation
# 3: create a link to linux spc300 sources inside toolchain_buid_dir for kernel header usage
check_linux_link:
	if [ ! -e $(DL_DIR)/$(LINUX_HEADERS_SOURCE) ]; then \
		mkdir -p $(DL_DIR); \
		touch $(DL_DIR)/$(LINUX_HEADERS_SOURCE); \
	fi; \
	if [ ! -e $(LINUX26_DIR) ]; then \
		mkdir -p $(PROJECT_BUILD_DIR); \
		ln -sf ../../../$(notdir $(LINUX26_DIR)-spc300) $(LINUX26_DIR); \
		touch $(LINUX26_DIR)/.unpacked; \
		touch $(LINUX26_DIR)/.patched; \
		mkdir -p $(TOOL_BUILD_DIR); \
		ln -sf ../../$(notdir $(LINUX26_DIR)-spc300) $(TOOL_BUILD_DIR)/linux-$(LINUX_HEADERS_VERSION); \
	fi;
endif

linux26-clean:
	$(MAKE) -C $(LINUX26_DIR) clean

# Add rule to customize target dir for each board.

$(TARGET_DIR): $(PROJECT_BUILD_DIR)/.root-add
$(PROJECT_BUILD_DIR)/.root-add: $(PROJECT_BUILD_DIR)/.root
	for dir in $(TARGET_SKELETON_ADD); do \
		cp -fa $$dir/* $(TARGET_DIR)/; \
	done
	-find $(TARGET_DIR) -type d -name CVS -o -name .svn | xargs rm -rf
	-find $(TARGET_DIR) -type f -name .empty | xargs rm -rf
	touch $@