File Function

$( file op filename [ , text ] )

file 함수는 외부 파일을 직접 read, write 할 수 있는 기능을 제공합니다. op 에는 < ( read ), > ( write ), >> ( append ) 가 있는데 쓰기 위해 파일을 open 할때 > 연산자는 기존 파일 내용이 삭제되는 반면 >> 는 삭제되지 않습니다. text 인수는 write, append 시에 사용됩니다.

< ( read )

sh$ cat program.in
file1
file2
file3
---------------------------

res := $(file < program.in)
$(info $(res))

########  실행 결과  ########
file1
file2
file3

> ( write )

program : file1 file2 file3
    $(file > $@.in,$^)

.DEFAULT: ;

############  실행 결과  ############

sh$ cat program.in 
file1 file2 file3

>> ( append )

program : file4 file5 file6
    $(foreach f,$^,$(file >> $@.in,$f))

.DEFAULT: ;

############  실행 결과  ############

sh$ cat program.in 
file1 file2 file3
file4               # append 는 라인 단위로 쓰여진다
file5
file6