Merge pull request #1159 from lnis-uofu/xt_makefile

[script] serialize make all depedent targets to avoid ``make all`` bugs
This commit is contained in:
tangxifan 2023-05-10 21:16:41 +08:00 committed by GitHub
commit 8c90f3d5c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 33 deletions

View File

@ -127,15 +127,10 @@ jobs:
- uses: hendrikmuhs/ccache-action@v1 - uses: hendrikmuhs/ccache-action@v1
- name: checkout submodules
shell: bash
run: |
make checkout
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
make compile BUILD_TYPE=$BUILD_TYPE make all BUILD_TYPE=$BUILD_TYPE
# Check the cache size and see if it is over the limit # Check the cache size and see if it is over the limit
- name: Check ccache size - name: Check ccache size
@ -216,15 +211,10 @@ jobs:
- uses: hendrikmuhs/ccache-action@v1 - uses: hendrikmuhs/ccache-action@v1
- name: checkout submodules
shell: bash
run: |
make checkout
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
make compile BUILD_TYPE=$BUILD_TYPE CMAKE_FLAGS="${{ matrix.config.cmake_flags }}" make all BUILD_TYPE=$BUILD_TYPE CMAKE_FLAGS="${{ matrix.config.cmake_flags }}"
ubuntu_support: ubuntu_support:
needs: change_detect needs: change_detect
@ -262,15 +252,10 @@ jobs:
- uses: hendrikmuhs/ccache-action@v1 - uses: hendrikmuhs/ccache-action@v1
- name: checkout submodules
shell: bash
run: |
make checkout
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
make compile BUILD_TYPE=$BUILD_TYPE make all BUILD_TYPE=$BUILD_TYPE
debug_build: debug_build:
needs: change_detect needs: change_detect
@ -315,15 +300,10 @@ jobs:
- uses: hendrikmuhs/ccache-action@v1 - uses: hendrikmuhs/ccache-action@v1
- name: checkout submodules
shell: bash
run: |
make checkout
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
make compile BUILD_TYPE=${{ matrix.config.build_type }} -j ${{ matrix.config.cores }} make all BUILD_TYPE=${{ matrix.config.build_type }} -j ${{ matrix.config.cores }}
- name: Quick Test - name: Quick Test
shell: bash shell: bash
@ -371,15 +351,10 @@ jobs:
- uses: hendrikmuhs/ccache-action@v1 - uses: hendrikmuhs/ccache-action@v1
- name: checkout submodules
shell: bash
run: |
make checkout
- name: Build - name: Build
shell: bash shell: bash
run: | run: |
make compile BUILD_TYPE=${{ matrix.config.build_type }} -j ${{ matrix.config.cores }} CMAKE_FLAGS="-DOPENFPGA_ENABLE_STRICT_COMPILE=ON" make all BUILD_TYPE=${{ matrix.config.build_type }} -j ${{ matrix.config.cores }} CMAKE_FLAGS="-DOPENFPGA_ENABLE_STRICT_COMPILE=ON"
- name: Quick Test - name: Quick Test
shell: bash shell: bash

View File

@ -66,7 +66,7 @@ prebuild:
echo "cd ${BUILD_DIR} && ${CMAKE_COMMAND} ${CMAKE_FLAGS} ${SOURCE_DIR}" && \ echo "cd ${BUILD_DIR} && ${CMAKE_COMMAND} ${CMAKE_FLAGS} ${SOURCE_DIR}" && \
cd ${BUILD_DIR} && ${CMAKE_COMMAND} ${CMAKE_FLAGS} ${SOURCE_DIR} cd ${BUILD_DIR} && ${CMAKE_COMMAND} ${CMAKE_FLAGS} ${SOURCE_DIR}
compile: prebuild compile: | prebuild
# Compile the code base. By default, all the targets will be compiled # Compile the code base. By default, all the targets will be compiled
# Following options are available # Following options are available
# .. option:: CMAKE_GOALS # .. option:: CMAKE_GOALS
@ -75,12 +75,13 @@ compile: prebuild
echo "Building target(s): ${CMAKE_GOALS}" echo "Building target(s): ${CMAKE_GOALS}"
@+${MAKE} -C ${BUILD_DIR} ${CMAKE_GOALS} @+${MAKE} -C ${BUILD_DIR} ${CMAKE_GOALS}
list_cmake_targets: prebuild list_cmake_targets: | prebuild
# Show the targets available to be built, which can be specified through ``CMAKE_GOALS`` when compile # Show the targets available to be built, which can be specified through ``CMAKE_GOALS`` when compile
cd ${BUILD_DIR} && make help && cd - cd ${BUILD_DIR} && make help && cd -
all: checkout compile all: checkout
# A shortcut command to run checkout and compile in serial # A shortcut command to run checkout and compile in serial
@+${MAKE} compile
format-cpp: format-cpp:
# Format all the C/C++ files under this project, excluding submodules # Format all the C/C++ files under this project, excluding submodules