Re: 問題ID : 9056 Makefileのサンプルコードについて
20160220
投稿数: 5
arashi1977様御回答ありがとうございます。
おっしゃる通りダブルコーテーションやバックスラがありません。
ファイルはmake generate実行時に作成されるため、作成された段階でこの状態になります。
c言語については疎いので内容は分かっていないのですがbashのように「バックスラを文字列として扱いたい場合はバックスラバックスラにする」みたいなルールがあるのでしょうか?
ファイル src_a.c
サンプルコード該当部分?
ファイル src_b.c
サンプルコード該当部分?
長いですが、実際に使用しているMakefileです。
vimの画面上は¥はバックスラで表示されています。
おっしゃる通りダブルコーテーションやバックスラがありません。
ファイルはmake generate実行時に作成されるため、作成された段階でこの状態になります。
c言語については疎いので内容は分かっていないのですがbashのように「バックスラを文字列として扱いたい場合はバックスラバックスラにする」みたいなルールがあるのでしょうか?
ファイル src_a.c
include <stdio.h>
int function_a() {
fprintf(stdout, %sn, This line comes from src_a.c!);
return 0;
}
@echo " fprintf(stdout, "%s\n", "This line comes from src_a.c!");" >> src_a.c
#include <stdio.h>
#include src_b.h
int function_b() {
fprintf(stdout, %sn, FUNCTION_B_STRINGS);
return 0;
}
@echo " fprintf(stdout, "%s\n", FUNCTION_B_STRINGS);" >> src_b.c
長いですが、実際に使用しているMakefileです。
vimの画面上は¥はバックスラで表示されています。
BJS = src_a.o src_b.o src_main.o
CC = gcc
PROGRAM = maketest.bin
DESTDIR = $(HOME)/bin
CHK_INSTALL = .installed
.SUFFIXES: .c .o
$(PROGRAM): $(OBJS)
$(CC) -o $(PROGRAM) $^
.c .o:
$(CC) -c $<
install: $(PROGRAM)
mkdir -p $(DESTDIR)
install $(PROGRAM) $(DESTDIR)
touch $(CHK_INSTALL)
uninstall: $(CHK_INSTALL)
rm $(DESTDIR)/$(PROGRAM)
rm $(CHK_INSTALL)
.PHONY: clean generate clean-gen
generate:
@echo Generate src_main.c
@echo "void main()" { > src_main.c
@echo " function_a();" >> src_main.c
@echo " function_b();" >> src_main.c
@echo } >> src_main.c
@echo Generate src_a.c
@echo "#include <stdio.h>" > src_a.c
@echo "int function_a()" { >> src_a.c
@echo " fprintf(stdout, "%s\n", "This line comes from src_a.c!");" >> src_a.c
@echo " return 0;" >> src_a.c
@echo } >> src_a.c
@echo Generate src_b.c
@echo "#include <stdio.h>" > src_b.c
@echo "#include "src_b.h"" >> src_b.c
@echo "int function_b()" { >> src_b.c
@echo " fprintf(stdout, "%s\n", FUNCTION_B_STRINGS);" >> src_b.c
@echo " return 0;" >> src_b.c
@echo } >> src_b.c
@echo Generate src_b.h
@echo "#define FUNCTION_B_STRINGS "This line comes from src_b.h"" > src_b.h
clean-gen:
$(RM) src_main.c src_a.c src_b.c src_b.h
clean:
$(RM) $(PROGRAM) $(OBJS)
投稿ツリー
-
問題ID : 9056 Makefileのサンプルコードについて
(20160220, 2021-9-11 8:24)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(arashi1977, 2021-9-11 9:57)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(20160220, 2021-9-11 20:06)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(arashi1977, 2021-9-11 22:02)
- Re: 問題ID : 9056 Makefileのサンプルコードについて (20160220, 2021-9-11 23:06)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(arashi1977, 2021-9-11 22:02)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(20160220, 2021-9-11 20:06)
-
Re: 問題ID : 9056 Makefileのサンプルコードについて
(arashi1977, 2021-9-11 9:57)