Хороший способ сделать “переключатель” в Make-файле

Сортировка изменяет исходный массив. поэтому, когда вы используете сортировку последовательно, в конечном итоге вы снова и снова меняете один и тот же массив.

let arr = [1,2,3,5,6,64,76,52]

arr.sort((a,b)=> a-b)

console.log(arr)

Вы можете создать копию массива и затем отсортировать ее

let arr = [1,2,3,5,6,64,76,52]

let arr2 = [...arr].sort((a,b)=> a-b)

console.log(arr,arr2)

15
задан Christoffer 14 October 2008 в 06:52
поделиться

4 ответа

Переключение на систему, которая делает это для Вас (automake/autoconf), может быть более простым...

2
ответ дан 1 December 2019 в 01:24
поделиться

Как насчет:

CFLAGS_Linux_x86_release        = -O3
CFLAGS_Linux_x86_debug          = -O0 -g


CFLAGS  = ${CFLAGS_${PLATFORM}_${BUILD}}
24
ответ дан 1 December 2019 в 01:24
поделиться

Make-файл используемый мерзавец является хорошим примером Make-файла, который делает нетривиальные задачи конфигурации в самом Make-файле (такие как включение типа хоста). Это на самом деле довольно читаемо и довольно просто использовать.

4
ответ дан 1 December 2019 в 01:24
поделиться

Конфигурирование таких параметров было бы задачей configure сценарий.

Однако можно изучить синтаксис для условные выражения и условные функции . Например, Вы могли попробовать следующее:

ifeq ($(PLATFORM)_$(BUILD_TYPE),Linux_x86_release)
    CFLAGS = -O3
endif
ifeq ($(PLATFORM)_$(BUILD_TYPE),Linux_x86_debug)
    CFLAGS = -O0 -g
endif
6
ответ дан 1 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: