diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-02-20 23:13:25 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-02-20 23:13:25 +0100 |
commit | e61df0c60e3583b75e537a61481a743732034534 (patch) | |
tree | b524915a7a8c62971a0b1d37387a6d5af185f76e /src/Makefile | |
parent | 50b5545d6e15758d597de8e44039ca0a896a2e5b (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/Makefile | 85 |
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 $@ |