# Folder structure: The default folder structure, which you will have if you just follow the default instructions is as follows: . ├── components │ ├── common Set of common scripts, documentation, etc │ ├── component_x A BabbleSim component │ │ ├── Depends │ │ ├── doc │ │ ├── Makefile │ │ └── src │ └── ext_component_y An external BabbleSim component (hosted in its own repo) │ ├── Depends │ ├── doc │ ├── Makefile │ └── src ├── Makefile -> components/common/Makefile ├── bin Where executables are installed ready to use ├── lib Where libraries are stored ready to be loaded/linked to └── results Where simulations output is stored But, other structures are supported. To easily support placing components and/or the output in different folders a set of environment variables are defined. These wil be set to the automatically assuming the default folder structure when using the provided Makefiles. But they can be set to something else before calling make. BSIM_COMPONENTS_PATH : Path to the components folder By default the top level makefile assumes it is in the same directory as the folder components/ The individual component makefiles, assume they are placed inside components// BSIM_BASE_PATH : Path to the folder where the base repo was cloned. By default the same as BSIM_COMPONENTS_PATH BSIM_OUT_PATH: : Where the compilation results are installed. That is, where lib/ bin/ and results/ will be created. COMPONENT_OUTPUT_DIR : Where the intermediate results of compiling a particular component will be placed By default the folder of the component being compiled For the 2G4 external components: 2G4_libPhyComv1_COMP_PATH : Path where ext_2G4_libPhyComv1 was cloned. By default assumed to be ${BSIM_COMPONENTS_PATH}/ext_2G4_libPhyComv1 2G4_phy_v1_COMP_PATH : Path where ext_2G4_phy_v1 was cloned. By default assumed to be ${BSIM_COMPONENTS_PATH}/ext_2G4_phy_v1