aboutsummaryrefslogtreecommitdiff
path: root/board-js2x/Makefile
blob: 27ce5330f4adb96a735f02f2047c50998a242479 (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# *****************************************************************************
# * Copyright (c) 2004, 2007 IBM Corporation
# * All rights reserved.
# * This program and the accompanying materials
# * are made available under the terms of the BSD License
# * which accompanies this distribution, and is available at
# * http://www.opensource.org/licenses/bsd-license.php
# *
# * Contributors:
# *     IBM Corporation - initial implementation
# ****************************************************************************/

JS2X_TARGETS = tools_build romfs_build stage1

SUBDIRS = slof rtas 
COMMON_LIBS = libc libipmi libbootmsg libbases

all:		$(JS2X_TARGETS) subdirs clients_build bcm57xx boot_rom_js2x.bin boot_rom_bimini.bin

.PHONY : subdirs $(SUBDIRS) clean distclean

include config
include Makefile.dirs
include $(TOPCMNDIR)/make.rules
include $(TOPCMNDIR)/Makefile.gen

subdirs: $(SUBDIRS)

$(SUBDIRS): libraries
		 @echo " ====== Building $@ ======"
		 $(MAKE) -C $@ $(MAKEARG)


libraries:
		 $(MAKE) -C $(LIBCMNDIR) $(COMMON_LIBS)

stage1:	
		make -C llfw RELEASE=-DRELEASE=\"\\\"$(RELEASE)\\\"\"

boot_rom_js2x.bin: 	$(JS2X_TARGETS) subdirs clients_build bcm57xx ../build_info.img
		@echo " ====== Building $@ ======"
		cat $(ROMFSBRDDIR)/boot_rom.ffs > ../.boot_rom.ffs
		cat $(SLOFBRDDIR)/OF.ffs >> ../.boot_rom.ffs
		@echo build_info.img  build_info.img 0 0 >> ../.boot_rom.ffs
		cd .. && ./romfs/tools/build_romfs .boot_rom.ffs boot_rom.bin
		cd .. && if [ -f boot_rom.bin.gz ]; then rm -f boot_rom.bin.gz; gzip -9 boot_rom.bin; fi
		rm -f ../.boot_rom.ffs

boot_rom_bimini.bin: 	$(JS2X_TARGETS) subdirs clients_build bcm57xx ../build_info.img
		@echo " ====== Building $@ ======"
		cat $(ROMFSBRDDIR)/boot_rom_bimini.ffs > ../.boot_rom.ffs
		cat $(SLOFBRDDIR)/OF.ffs >> ../.boot_rom.ffs
		@echo build_info.img  build_info.img 0 0 >> ../.boot_rom.ffs
		cd .. && ./romfs/tools/build_romfs .boot_rom.ffs boot_rom_bimini.bin
		cd .. && if [ -f boot_rom_bimini.bin.gz ]; then rm -f boot_romi_bimini.bin.gz; gzip -9 boot_rom_bimini.bin; fi
		rm -f ../.boot_rom.ffs

bcm57xx:
		make -C ../other-licence/bcm


clean_here:
		rm -f package-firmware
		rm -f ../slof/OF.ffs
		rm -f ../boot_rom.bin ../js2*.img ../ram.bin
		rm -f ../bimini.img ../bimini.ram.bin
		rm -rf ../boot_rom_bimini.bin

clean:		clean_here clean_gen
		make -C ../other-licence/bcm clean
		@for dir in $(SUBDIRS); do \
			$(MAKE) -C $$dir clean || exit 1; \
		done
		rm -f ../boot_rom.bin ../js2*.img 
		@make -C llfw clean
		@make -C $(TOPCMNDIR)/clients/takeover clean

distclean:	clean_here distclean_gen
		make -C ../other-licence/bcm clean
		@for dir in $(SUBDIRS); do \
			$(MAKE) -C $$dir distclean || exit 1; \
		done
		rm -f ../boot_rom.bin ../js2*.img 
		make -C llfw clean
		make -C $(TOPCMNDIR)/clients/takeover distclean

takeover: all
		$(MAKE) -C $(TOPCMNDIR)/clients/takeover

.driver_dirs:
		@rm -rf ../driver-$(RELEASE)
		@mkdir -p ../driver-$(RELEASE)

.tar_gz:	.driver_dirs takeover
		@mv ../boot_rom.bin \
			../driver-$(RELEASE)/$(RELEASE)-js2x.bin
		@mv ../boot_rom_bimini.bin \
			../driver-$(RELEASE)/$(RELEASE)-bimini.bin
		@mv $(TOPCMNDIR)/clients/takeover/takeover.elf \
			../driver-$(RELEASE)/$(RELEASE)-takeover.bin
		@cp ../VERSION ../driver-$(RELEASE)
		@cp changes.txt ../driver-$(RELEASE)
		@cd ../driver-$(RELEASE) && md5sum * > md5sum.txt
		@chmod 644 ../driver-$(RELEASE)/*
		@mv ../driver-$(RELEASE) ../driver-$(RELEASE)-`date +%Y-%h%d`
		@tar czf ../driver-$(RELEASE)-`date +%Y-%h%d`.tar.gz \
			../driver-$(RELEASE)-`date +%Y-%h%d` > /dev/null  2>&1
		@rm -rf ../driver-$(RELEASE)-`date +%Y-%h%d`

driver:		driver_prep clean .tar_gz