diff --git a/.gitignore b/.gitignore index fd61fff58..2e95681e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,19 @@ # Produced files -out/ -build/ +build/bin +build/obj +build/tests # IDE related files nbproject **.sublime-project **.sublime-workspace - -# Compiled Object files -*.slo -*.lo -*.o - -# Compiled Dynamic libraries -*.so -*.dylib - -# Compiled Static libraries -*.lai -*.la -*.a +.idea # Random Trash *.swp +*.swo *~ -js.files -js.fail.files -jerry.error -jerry.passed core vgcore.* **.orig diff --git a/CMakeLists.txt b/CMakeLists.txt index ae9f4a6b1..64bf6a9f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -536,11 +536,12 @@ project (Jerry CXX C ASM) target_link_libraries(${TARGET_NAME} ${TARGET_NAME}.jerry.lib ${TARGET_NAME}.third_party.lib imported_libgcc) add_dependencies(${TARGET_NAME} mcu_header_with_script_to_run.${TARGET_NAME}) - add_custom_target(${TARGET_NAME}.flash + add_custom_target(${TARGET_NAME}.bin COMMAND ${CMAKE_OBJCOPY} -Obinary $ $.bin - # Flash, ignoring failures to remove temporary flashable binary any way - COMMAND st-flash write $.bin 0x08000000 || /bin/true - COMMAND rm $.bin) + DEPENDS ${TARGET_NAME}) + add_custom_target(${TARGET_NAME}.flash + COMMAND st-flash write $.bin 0x08000000 + DEPENDS ${TARGET_NAME}.bin) endfunction() declare_target_with_modifiers(COMPACT_PROFILE) diff --git a/Makefile b/Makefile index f6fd64f2c..f527af709 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,8 @@ export JERRY_TARGETS = $(JERRY_LINUX_TARGETS) $(JERRY_MCU_TARGETS) export CHECK_TARGETS = $(foreach __TARGET,$(JERRY_TARGETS),$(__TARGET).check) export FLASH_TARGETS = $(foreach __TARGET,$(foreach __MODE,$(TARGET_RELEASE_MODES),$(foreach __SYSTEM,$(TARGET_MCU_SYSTEMS_MODS),$(__MODE).$(__SYSTEM))),$(__TARGET).flash) -export OUT_DIR = ./out -export BUILD_DIR = ./build +export OUT_DIR = ./build/bin +export BUILD_DIR = ./build/obj export SHELL=/bin/bash @@ -67,11 +67,11 @@ all: precommit $(BUILD_DIR)/native: @ mkdir -p $(BUILD_DIR)/native - @ cd $(BUILD_DIR)/native; cmake ../.. &>cmake.log + @ cd $(BUILD_DIR)/native; cmake ../../.. &>cmake.log $(BUILD_DIR)/mcu: @ mkdir -p $(BUILD_DIR)/mcu - @ cd $(BUILD_DIR)/mcu; cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain_mcu_armv7l.cmake ../.. &>cmake.log + @ cd $(BUILD_DIR)/mcu; cmake -DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_mcu_armv7l.cmake ../../.. &>cmake.log $(JERRY_LINUX_TARGETS): $(BUILD_DIR)/native @ mkdir -p $(OUT_DIR)/$@ @@ -85,8 +85,9 @@ unittests: $(BUILD_DIR)/native $(JERRY_MCU_TARGETS): $(BUILD_DIR)/mcu @ mkdir -p $(OUT_DIR)/$@ - @ $(MAKE) -C $(BUILD_DIR)/mcu VERBOSE=1 $@ &>$(OUT_DIR)/$@/make.log + @ $(MAKE) -C $(BUILD_DIR)/mcu VERBOSE=1 $@.bin &>$(OUT_DIR)/$@/make.log @ cp $(BUILD_DIR)/mcu/$@ $(OUT_DIR)/$@/jerry + @ cp $(BUILD_DIR)/mcu/$@.bin $(OUT_DIR)/$@/jerry.bin build: $(JERRY_TARGETS) unittests diff --git a/cmake/toolchain_linux_armv7l-hf.cmake b/build/configs/toolchain_linux_armv7l-hf.cmake similarity index 100% rename from cmake/toolchain_linux_armv7l-hf.cmake rename to build/configs/toolchain_linux_armv7l-hf.cmake diff --git a/cmake/toolchain_linux_x86_64.cmake b/build/configs/toolchain_linux_x86_64.cmake similarity index 100% rename from cmake/toolchain_linux_x86_64.cmake rename to build/configs/toolchain_linux_x86_64.cmake diff --git a/cmake/toolchain_mcu_armv7l.cmake b/build/configs/toolchain_mcu_armv7l.cmake similarity index 100% rename from cmake/toolchain_mcu_armv7l.cmake rename to build/configs/toolchain_mcu_armv7l.cmake