MIKO Lab.
Linux
このページはlinuxに関する作者の備忘録です.
コマンド
再帰的にファイルをコピーする (サブディレクトリの中身もディレクトリ構成を維持したままコピー)
find . \( -name \ファイル名その1 -o -name \ファイル名その2 .... \) | cpio -pd あて先ディレクトリ

例) カレントディレクトリから".c" ".h" ".cpp" ".sh" "Makefile" ".txt" ファイルを /path/to/dir へ再帰的にコピー
find . \( -name \*.c -o -name \*.h -o -name \*.cpp -o -name \*.sh -o -name \Makefile -o -name \*.txt \)| cpio -pd /path/to/dir
プログラム関係
Makefileの書き方
commonディレクトリにある"code1.cpp"とカレントディレクトリにある"code2.cpp"からmy_programを作成
SAMPLE_MODEを定義してコンパイル (#define SAMPLE_MODEと同等)
コンパイラに g++ を使用する.-O2の最適化オプションを使用する.
COMMON = ../common
CC = g++ -O2 -DSAMPLE_MODE
TARGET = my_program
INCLUDES = -I. -I$(COMMON)
OBJ = $(COMMON)/code1.o \
code2.o
$(TARGET): $(OBJ)
$(CC) -o $@ $(OBJ)
.cpp.o :
$(CC) -c $< $(INCLUDES) -o $@
clean :
rm -f $(OBJ) $(TARGET)
このサンプルは,依存関係を完璧には定義しきれていない.そのため,コンパイルし直す際は"make clean"の実行を推奨