私はこのフォルダ/ファイル構造を持っています:
./libs/
helpers.c
helpers.h
./a_app.c
./b_app.c
./c_app.c
各アプリはヘルパー lib と に依存するため、 (フォルダー内で)GStreamer
コンパイルしてから各アプリをリンクする必要があります。helpers.o
libs/
現在、私はこの Makefile を持っています:
CC = gcc
CFLAGS = -g -Wall -w
LFLAGS = -g -Wall -w -c
CFLAGS += `pkg-config --cflags gstreamer-app-0.10`
LFLAGS += `pkg-config --cflags gstreamer-app-0.10`
LDFLAGS =
LDFLAGS += `pkg-config --libs gstreamer-app-0.10`
all: examples
examples: helpers.o a_app
$(info *** examples ***)
helpers.o:
$(info *** helpers.o ***)
$(CC) $(LFLAGS) libs/helpers.c -o libs/helpers.o $(LDFLAGS)
a_app: a_app.o
$(CC) $(CFLAGS) libs/helpers.o a_app.o -o a_app $(LDFLAGS)
a_app.o: a_app.c
$(info *** a_app.o ***)
$(CC) $(LFLAGS) a_app.c $(LDFLAGS)
追加できますが、別の(よりエレガントな)方法b_app
をc_app
探しています。a、b、c の _app があり、Makefile にそれらすべてをコンパイルさせて、GStreamer とヘルパーにリンクさせることができますか?
また、Makefile にファイルをコンパイルさせる方法はありますか-o name_of_file
(そして、ヘルパー ライブラリのため、ファイルが存在するフォルダーでコンパイルするようにすることもできます)。