summaryrefslogtreecommitdiffstats
path: root/src/Makefile
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-02-20 23:13:25 +0100
committerHarald Welte <laforge@gnumonks.org>2010-02-20 23:13:25 +0100
commite61df0c60e3583b75e537a61481a743732034534 (patch)
treeb524915a7a8c62971a0b1d37387a6d5af185f76e /src/Makefile
parent50b5545d6e15758d597de8e44039ca0a896a2e5b (diff)
add new master Makefile
using the Makefile in the 'src' directory, we nwo build everything
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 00000000..b8422e21
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,85 @@
+
+# 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/gnuarm-4.0.2/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 \
+ LIBOSMOCORE_CFLAGS=-I$(TOPDIR)/shared/libosmocore/include
+
+all: libosmocore-host libosmocore-target layer2 osmocon firmware
+
+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
+
+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-shared
+
+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/osmocon/osmocon: host/osmocon/Makefile libosmocore-host
+ make -C host/osmocon
+
+
+.PHONY: layer2
+layer2: host/layer2/layer2
+
+host/layer2/configure: host/layer2/configure.ac
+ cd host/layer2 && autoreconf -i
+
+host/layer2/Makefile: host/layer2/configure
+ cd host/layer2 && $(OSMOCORE_CONFIGURE_ENV) ./configure
+
+host/layer2/layer2: host/layer2/Makefile libosmocore-host
+ make -C host/layer2
+
+
+.PHONY: firmware
+firmware: libosmocore-target
+ make -C target/firmware
+
+
+clean:
+ make -C shared/libosmocore/build-host $@
+ make -C shared/libosmocore/build-target $@
+ make -C host/layer2 $@
+ make -C host/osmocon $@
+ make -C target/firmware $@
+
+distclean:
+ rm -rf shared/libosmocore/build-host
+ rm -rf shared/libosmocore/build-target
+ make -C host/layer2 $@
+ make -C host/osmocon $@
+ make -C target/firmware $@