summaryrefslogtreecommitdiffstats
path: root/hostTools/Makefile
blob: 491c82ff36efe387329adff384073943b056b9ab (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
ifndef KERNEL_DIR
KERNEL_DIR = ../kernel/linux
endif
ifndef BRCM_BOARD
BRCM_BOARD = bcm963xx
endif
ifndef TARGETS_DIR
TARGETS_DIR = ../targets
endif
ifndef SHARED_DIR
SHARED_DIR = ../shared
endif
ifndef INC_BRCMBOARDPARMS_PATH
INC_BRCMBOARDPARMS_PATH = $(SHARED_DIR)/opensource/boardparms
endif
LZMADIR = ./lzma/compress
INCLUDEDIR = -I$(INC_BRCMDRIVER_PUB_PATH)/$(BRCM_BOARD) -I$(INC_BRCMSHARED_PUB_PATH)/$(BRCM_BOARD) -I. -I$(LZMADIR)
LZMAOBJS = \
	7zapi.o \
        7zlzma.o \
        AriBitCoder.o \
        IInOutStreams.o \
        LenCoder.o \
        LiteralCoder.o \
        LZMA.o \
        LZMAEncoder.o \
        OutByte.o \
        WindowIn.o

CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
	else if [ -x /bin/bash ]; then echo /bin/bash; \
	else echo sh; fi ; fi)
TOPDIR	:= $(shell /bin/pwd)
SSHD_DIR = $(OPENSOURCE_DIR)/sshd
GENKEY_DIR = $(SSHD_DIR)/genkey
HOST_GENKEY = $(TOPDIR)/host_genkey
CC = gcc
STRIP = strip
RSA_KEY = $(TARGETS_DIR)/fs.src/etc/rsa_host_key
###DSS_KEY = $(TARGETS_DIR)/fs.src/etc/dss_host_key
export SSHD_DIR HOST_GENKEY CC STRIP

#WARNINGS= -Wall

#export DEFS		= -DDEBUG
export CFLAGS		= -m32 $(DEFS) $(WARNINGS) -O2 -DGNU $(INCLUDEDIR)

vpath %.cpp $(LZMADIR)

ifeq ($(strip $(BRCM_KERNEL_ROOTFS)),nfs)
all:
else
all: build_mkfs build_cmplzma build_hostgenkey build_imageutil
endif

build_imageutil: bcmImageBuilder addvtoken createimg

bcmImageBuilder: bcmImageBuilder.c
	gcc $(CFLAGS) -o bcmImageBuilder bcmImageBuilder.c
addvtoken: addvtoken.c
	gcc $(CFLAGS) -o addvtoken addvtoken.c 
createimg: createimg.c $(INC_BRCMBOARDPARMS_PATH)/$(BRCM_BOARD)/boardparms.c
	gcc $(CFLAGS) -DCONFIG_BCM9$(BRCM_CHIP) -o createimg createimg.c $(INC_BRCMBOARDPARMS_PATH)/$(BRCM_BOARD)/boardparms.c

ifeq ($(strip $(BRCM_KERNEL_ROOTFS)),squashfs)
build_mkfs: mksquashfs $(LZMAOBJS)
else
ifeq ($(strip $(BRCM_KERNEL_ROOTFS)),cramfs)
build_mkfs: mkcramfs $(LZMAOBJS)
endif
endif

mksquashfs:  squashfs/*.c squashfs/*.h $(LZMAOBJS)
	@if [ ! -e /usr/include/zlib.h ]; then \
          echo *****You need to install zlib-devel package to build mksquashfs! ; \
          echo *****You may find it in your Linux distribution CDs. ; \
	  exit ;\
        fi
	gcc $(CFLAGS) -Isquashfs -c squashfs/*.c
	g++ -m32 -o mksquashfs mksquashfs.o read_fs.o sort.o $(LZMAOBJS) -lz

mkcramfs:  cramfs/mkcramfs.cpp $(LZMAOBJS)
	@if [ ! -e /usr/include/zlib.h ]; then \
          echo *****You need to install zlib-devel package to build mkcramfs! ; \
          echo *****You may find it in your Linux distribution CDs. ; \
	  exit ;\
        fi
	g++ $(CFLAGS) -I$(KERNEL_DIR)/include -c cramfs/mkcramfs.cpp
	g++ -m32 -o mkcramfs mkcramfs.o $(LZMAOBJS) -lz -lm

build_cmplzma: cmplzma $(LZMAOBJS)

cmplzma: cmplzma.cpp $(LZMAOBJS)
	g++ $(CFLAGS) -c cmplzma.cpp
	g++ -m32 -o cmplzma cmplzma.o $(LZMAOBJS) -lm


ifeq ($(strip $(BUILD_CFM_SSHD)),y)
ifeq ($(strip $(BUILD_SSHD_MIPS_GENKEY)),y)
build_hostgenkey:
	@if [ -e $(RSA_KEY) ]; then \
		rm -fr $(RSA_KEY); \
	  exit ;\
        fi
###	@if [ -e $(DSS_KEY) ]; then \
###		rm -fr $(DSS_KEY); \
###	  exit ;\
###        fi
else
build_hostgenkey:	
	@if [ ! -e $(RSA_KEY) ]; then \
		cd $(GENKEY_DIR) && $(MAKE); \
		$(HOST_GENKEY) -t rsa -f $(RSA_KEY); \
	  exit ;\
        fi
###	@if [ ! -e $(DSS_KEY) ]; then \
###		$(HOST_GENKEY) -t dss -f $(DSS_KEY); \
###	  exit ;\
###     fi
endif
else
build_hostgenkey:
	@if [ -e $(RSA_KEY) ]; then \
		rm -fr $(RSA_KEY); \
	  exit ;\
        fi
###	@if [ -e $(DSS_KEY) ]; then \
###		rm -fr $(DSS_KEY); \
###	  exit ;\
###     fi
endif

$(LZMAOBJS): %.o: %.cpp
	g++ -c $(CFLAGS) $^ -o $@

clean:
	rm -f bcmImageBuilder addvtoken createimg mksquashfs mkcramfs cmplzma $(HOST_GENKEY)
	rm -fr *.o core
	rm -fr $(LZMADIR)/*.o $(GENKEY_DIR)/*.o