Merge branch 'master' into testing
[osmocom-bb.git] / src / Makefile
index b8422e2..b3594c1 100644 (file)
@@ -1,16 +1,19 @@
 
 # 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
+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 \
-                       LIBOSMOCORE_CFLAGS=-I$(TOPDIR)/shared/libosmocore/include
+                        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-host libosmocore-target layer2 osmocon firmware
+all: libosmocore-target nofirmware firmware
+nofirmware: libosmocore-host layer23 osmocon gsmmap
 
 libosmocore-host: shared/libosmocore/build-host/src/.libs/libosmocore.la
 
@@ -21,7 +24,7 @@ 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
+       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
@@ -33,7 +36,10 @@ 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
+       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
@@ -46,40 +52,53 @@ 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
+       cd host/osmocon && $(OSMOCORE_CONFIGURE_ENV) ./configure $(HOST_CONFARGS)
 
 host/osmocon/osmocon: host/osmocon/Makefile libosmocore-host
        make -C host/osmocon
 
 
-.PHONY: layer2
-layer2: host/layer2/layer2
+.PHONY: gsmmap
+gsmmap: host/gsmmap/gsmmap
 
-host/layer2/configure: host/layer2/configure.ac
-       cd host/layer2 && autoreconf -i
+host/gsmmap/configure: host/gsmmap/configure.ac
+       cd host/gsmmap && autoreconf -i
 
-host/layer2/Makefile: host/layer2/configure
-       cd host/layer2 && $(OSMOCORE_CONFIGURE_ENV) ./configure
+host/gsmmap/Makefile: host/gsmmap/configure
+       cd host/gsmmap && $(OSMOCORE_CONFIGURE_ENV) ./configure $(HOST_CONFARGS)
 
-host/layer2/layer2: host/layer2/Makefile libosmocore-host
-       make -C host/layer2
+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
+       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/layer2 $@
+       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/layer2 $@
+       make -C host/layer23 $@
        make -C host/osmocon $@
        make -C target/firmware $@