Commit d6e3479f authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

more complete toplevel makefile

parent d43dee68
REPO_BASE= $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
all: \ all: \
corundum/corundum_verilator \ corundum/corundum_verilator \
corundum_bm/corundum_bm \ corundum_bm/corundum_bm \
...@@ -5,27 +7,76 @@ all: \ ...@@ -5,27 +7,76 @@ all: \
net_wire/net_wire net_wire/net_wire
clean: clean:
make -C corundum/ clean $(MAKE) -C corundum/ clean
make -C corundum_bm/ clean $(MAKE) -C corundum_bm/ clean
make -C net_tap/ clean $(MAKE) -C dummy_nic/ clean
make -C net_wire/ clean $(MAKE) -C net_tap/ clean
make -C nicsim_common/ clean $(MAKE) -C net_wire/ clean
make -C netsim_common/ clean $(MAKE) -C nicsim_common/ clean
$(MAKE) -C netsim_common/ clean
####################################
# Tools in this repo
corundum/corundum_verilator: nicsim_common/libnicsim_common.a corundum/corundum_verilator: nicsim_common/libnicsim_common.a
make -C corundum/ all $(MAKE) -C corundum/ all
corundum_bm/corundum_bm: nicsim_common/libnicsim_common.a corundum_bm/corundum_bm: nicsim_common/libnicsim_common.a
make -C corundum_bm/ all $(MAKE) -C corundum_bm/ all
dummy_nic/dummy_nic: nicsim_common/libnicsim_common.a
$(MAKE) -C dummy_nic all
net_tap/net_tap: netsim_common/libnetsim_common.a net_tap/net_tap: netsim_common/libnetsim_common.a
make -C net_tap/ $(MAKE) -C net_tap/
net_wire/net_wire: netsim_common/libnetsim_common.a net_wire/net_wire: netsim_common/libnetsim_common.a
make -C net_wire/ $(MAKE) -C net_wire/
nicsim_common/libnicsim_common.a: nicsim_common/libnicsim_common.a:
make -C nicsim_common/ $(MAKE) -C nicsim_common/
netsim_common/libnetsim_common.a: netsim_common/libnetsim_common.a:
make -C netsim_common/ $(MAKE) -C netsim_common/
####################################
# External dependencies
external: gem5/ready qemu/ready ns-3/ready
gem5:
git clone git@github.com:nicklijl/gem5.git gem5
gem5/ready: gem5
+cd gem5 && scons build/X86/gem5.opt -j`nproc`
touch gem5/ready
qemu:
git clone git@github.com:FreakyPenguin/qemu-cosim.git qemu
qemu/ready: qemu
cd qemu && ./configure \
--target-list=x86_64-softmmu \
--disable-werror \
--extra-cflags="-I$(REPO_BASE)/proto" \
--enable-cosim-pci && \
$(MAKE)
touch qemu/ready
ns-3:
git clone git@github.com:FreakyPenguin/ns-3-cosim.git ns-3
ns-3/ready: ns-3 netsim_common/libnetsim_common.a
+cd ns-3 && COSIM_PATH=$(REPO_BASE) ./cosim-build.sh configure
touch ns-3/ready
####################################
# External dependencies
run-experiments: all build-images external
$(MAKE) -C experiments
build-images:
$(MAKE) -C images
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment