blob: b3594c10a6d4cbe330acb92e781505f34227097d (
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
|
# this is not really used as we don't do 'make install'. You can still specify
# it in case you _want_ to manually 'make install' the target libosmocore.
CROSS_INST_PREFIX=/usr/local/stow/osmocom-bb/arm-elf
# this is the prefix of your cross-toolchain programs
CROSS_TOOL_PREFIX=arm-elf-
TOPDIR=$(shell pwd)
OSMOCORE_CONFIGURE_ENV= LIBOSMOCORE_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/.libs/libosmocore.a \
LIBOSMOVTY_LIBS=$(TOPDIR)/shared/libosmocore/build-host/src/vty/.libs/libosmovty.a \
LIBOSMOCORE_CFLAGS=-I$(TOPDIR)/shared/libosmocore/include \
LIBOSMOVTY_CFLAGS=-I$(TOPDIR)/shared/libosmocore/include
all: libosmocore-target nofirmware firmware
nofirmware: libosmocore-host layer23 osmocon gsmmap
libosmocore-host: shared/libosmocore/build-host/src/.libs/libosmocore.la
shared/libosmocore/build-host:
mkdir $@
shared/libosmocore/configure: shared/libosmocore/configure.in
cd shared/libosmocore && autoreconf -i
shared/libosmocore/build-host/Makefile: shared/libosmocore/configure shared/libosmocore/build-host
cd shared/libosmocore/build-host && ../configure $(HOST_CONFARGS)
shared/libosmocore/build-host/src/.libs/libosmocore.la: shared/libosmocore/build-host/Makefile
cd shared/libosmocore/build-host && make
libosmocore-target: shared/libosmocore/build-target/src/.libs/libosmocore.a
shared/libosmocore/build-target:
mkdir $@
shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/libosmocore/build-target
cd shared/libosmocore/build-target && ../configure \
--host=arm-elf-linux --disable-vty --enable-panic-infloop \
--disable-shared --disable-talloc --disable-tests \
CC="$(CROSS_TOOL_PREFIX)gcc" CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
cd shared/libosmocore/build-target && make
.PHONY: osmocon
osmocon: host/osmocon/osmocon
host/osmocon/configure: host/osmocon/configure.ac
cd host/osmocon && autoreconf -i
host/osmocon/Makefile: host/osmocon/configure
cd host/osmocon && $(OSMOCORE_CONFIGURE_ENV) ./configure $(HOST_CONFARGS)
host/osmocon/osmocon: host/osmocon/Makefile libosmocore-host
make -C host/osmocon
.PHONY: gsmmap
gsmmap: host/gsmmap/gsmmap
host/gsmmap/configure: host/gsmmap/configure.ac
cd host/gsmmap && autoreconf -i
host/gsmmap/Makefile: host/gsmmap/configure
cd host/gsmmap && $(OSMOCORE_CONFIGURE_ENV) ./configure $(HOST_CONFARGS)
host/gsmmap/gsmmap: host/gsmmap/Makefile libosmocore-host
make -C host/gsmmap
.PHONY: layer23
layer23: host/layer23/layer23
host/layer23/configure: host/layer23/configure.ac
cd host/layer23 && autoreconf -i
host/layer23/Makefile: host/layer23/configure
cd host/layer23 && $(OSMOCORE_CONFIGURE_ENV) ./configure $(HOST_CONFARGS)
host/layer23/layer23: host/layer23/Makefile libosmocore-host
make -C host/layer23
.PHONY: firmware
firmware: libosmocore-target
make -C target/firmware CROSS_COMPILE=$(CROSS_TOOL_PREFIX)
clean:
make -C shared/libosmocore/build-host $@
make -C shared/libosmocore/build-target $@
make -C host/layer23 $@
make -C host/osmocon $@
make -C target/firmware $@
distclean:
rm -rf shared/libosmocore/build-host
rm -rf shared/libosmocore/build-target
make -C host/layer23 $@
make -C host/osmocon $@
make -C target/firmware $@
|