와일드 카드 대상과 함께 nmake 사용

모라 그 휴슨

사용하면 nmake현재 필요한 작업을 수행하는 다음 메이크 파일이 있습니다. mycmd(실행중인 프로그램) .inp파일 을 가져와 파일을 생성 .out합니다. .inp필요한만큼 파일을 만들 수 있으며 makefile은 변경할 필요가 없습니다. 그것들을 모두 찾아 모든 관련 .out파일을 만듭니다.

#####################################################################################
# A SUFFIXES declaration is required in order to later use the rule with target .inp.out
#####################################################################################
.SUFFIXES: .inp

#####################################################################################
# Here, NMAKE will expand *.inp in the prereq list for all, into the list of *.inp
# files in the directory, and then it will start a new NMAKE instance, specifying the
# goals to build all those files.
#####################################################################################
all: *.inp
  $(MAKE) $(**:.inp=.out)

#####################################################################################
# $(*B) represents the current target's base name minus the path and the file extension
#####################################################################################
.inp.out:
  mycmd -i $(*B).inp -o $(*B).out

내 질문은, 내가 어떻게 더 그래서이 메이크을 향상 않습니다되고 난, 예를 들어, 집합에 대한 실행 수 .inp, 파일 그렇게하지 *.inp만 말 ABC*.inp?

조셉 퀸지

makefile에 대한 간단한 수정이 작동합니다. $(pattern)매크로 추가 :

.SUFFIXES: .inp

pattern = *                             # new macro; defaults to *

all: $(pattern).inp                     # use it!
  @$(MAKE) -nologo $(**:.inp=.out)

.inp.out:                               # dummy stub for testing
  @echo mycmd -i $(*B).inp -o $(*B).out
  @type NUL > $(*B).out

그런 다음 명령 줄에서 pattern. 예 : nmake -nologo pattern=ABC*.


업데이트 : makefile의 명령 줄 :

  $(MAKE) $(**:.inp=.out)

문자열 이 너무 길면 fatal error U1095: expanded command line...로 실패 합니다. 내 시스템에서 이것은 대략 32800 자에서 발생합니다.too long$**

!시작 부분 ( 여기 참조 )에 느낌표를 추가하는 것은 작동하지 않는 것 같습니다. 아마도 간단한 $**. 두 가지 해결 방법은 다음과 같습니다.

  !call set a=$** & call nmake %%a:.inp=.out%%

또는:

  !for %a in ($**) do nmake -nologo %~na.out

둘 다 원본보다 약 2 배 느리고 아무것도하지 않는 mycmd스텁이 있습니다. (여기서 for루프 $**는 단일 항목 이기 때문에 실제로 루프가 아닙니다 .)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

for rd 명령과 함께 와일드 카드 사용

분류에서Dev

익명 함수에서 와일드 카드와 함께 대괄호 사용

분류에서Dev

JQL과 함께 와일드 카드를 사용하여 JIRA 버전 쿼리

분류에서Dev

자바 스크립트 분할 기능과 함께 와일드 카드 사용

분류에서Dev

여러 와일드 카드와 함께 mv 명령 사용

분류에서Dev

와일드 카드 문자와 함께 xcopy 사용

분류에서Dev

Windows 7에서 mysqlimport와 함께 와일드 카드 사용

분류에서Dev

apt와 함께 와일드 카드 사용 문제

분류에서Dev

UNIX에서 와일드 카드와 함께 grep 사용

분류에서Dev

'긴 파일 이름'과 함께 와일드 카드 *를 사용하는 방법은 무엇입니까?

분류에서Dev

CMD에서 CALL과 함께 와일드 카드를 사용할 수 있습니까?

분류에서Dev

FILTER 함수와 함께 와일드 카드를 사용하는 방법

분류에서Dev

썬더 버드 메일 아카이브와 함께 emacs 사용

분류에서Dev

SQL Server에서 'in'연산자와 함께 % 와일드 카드 사용

분류에서Dev

stripos와 함께 사용할 와일드 카드 문자가 있습니까?

분류에서Dev

MATCH AGAINST를 와일드 카드와 함께 사용할 수 없습니다.

분류에서Dev

변수와 함께 와일드 카드를 사용하는 방법

분류에서Dev

수신 웹훅과 함께 적응 형 카드 사용

분류에서Dev

Seeed Studio TFT Touch Shield 2.0과 함께 SD 카드 사용

분류에서Dev

RTX 2080과 함께 안테나없이 WiFi 카드 사용

분류에서Dev

사운드 카드와 함께 전면 패널 잭 사용

분류에서Dev

클라우드 함수에서 와일드 카드와 함께 startWith를 사용할 수 있습니까?

분류에서Dev

와일드 카드와 함께 큰 따옴표 사용 또는 사용하지 않음

분류에서Dev

구분 기호 및 와일드 카드와 함께 grep을 사용하여 파일에서 정보 검색

분류에서Dev

출력 리디렉션과 함께 사용될 때 셸 스크립트에서 해석되지 않는 와일드 카드

분류에서Dev

와일드 카드를 사용한 로그 백 파일 포함

분류에서Dev

`bash -c`와 함께 하위 셸을 사용하여 부정적인 와일드 카드를 Bash

분류에서Dev

동적 URL 생성을 위해 와일드 카드와 함께 mod 재 작성 사용

분류에서Dev

sudo와 함께 쉘 와일드 카드를 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    for rd 명령과 함께 와일드 카드 사용

  2. 2

    익명 함수에서 와일드 카드와 함께 대괄호 사용

  3. 3

    JQL과 함께 와일드 카드를 사용하여 JIRA 버전 쿼리

  4. 4

    자바 스크립트 분할 기능과 함께 와일드 카드 사용

  5. 5

    여러 와일드 카드와 함께 mv 명령 사용

  6. 6

    와일드 카드 문자와 함께 xcopy 사용

  7. 7

    Windows 7에서 mysqlimport와 함께 와일드 카드 사용

  8. 8

    apt와 함께 와일드 카드 사용 문제

  9. 9

    UNIX에서 와일드 카드와 함께 grep 사용

  10. 10

    '긴 파일 이름'과 함께 와일드 카드 *를 사용하는 방법은 무엇입니까?

  11. 11

    CMD에서 CALL과 함께 와일드 카드를 사용할 수 있습니까?

  12. 12

    FILTER 함수와 함께 와일드 카드를 사용하는 방법

  13. 13

    썬더 버드 메일 아카이브와 함께 emacs 사용

  14. 14

    SQL Server에서 'in'연산자와 함께 % 와일드 카드 사용

  15. 15

    stripos와 함께 사용할 와일드 카드 문자가 있습니까?

  16. 16

    MATCH AGAINST를 와일드 카드와 함께 사용할 수 없습니다.

  17. 17

    변수와 함께 와일드 카드를 사용하는 방법

  18. 18

    수신 웹훅과 함께 적응 형 카드 사용

  19. 19

    Seeed Studio TFT Touch Shield 2.0과 함께 SD 카드 사용

  20. 20

    RTX 2080과 함께 안테나없이 WiFi 카드 사용

  21. 21

    사운드 카드와 함께 전면 패널 잭 사용

  22. 22

    클라우드 함수에서 와일드 카드와 함께 startWith를 사용할 수 있습니까?

  23. 23

    와일드 카드와 함께 큰 따옴표 사용 또는 사용하지 않음

  24. 24

    구분 기호 및 와일드 카드와 함께 grep을 사용하여 파일에서 정보 검색

  25. 25

    출력 리디렉션과 함께 사용될 때 셸 스크립트에서 해석되지 않는 와일드 카드

  26. 26

    와일드 카드를 사용한 로그 백 파일 포함

  27. 27

    `bash -c`와 함께 하위 셸을 사용하여 부정적인 와일드 카드를 Bash

  28. 28

    동적 URL 생성을 위해 와일드 카드와 함께 mod 재 작성 사용

  29. 29

    sudo와 함께 쉘 와일드 카드를 사용하는 방법은 무엇입니까?

뜨겁다태그

보관