我正在试验如何使用Makefile
. 共享库称为libsgtk.so
. 这是我的第一次尝试Makefile
:
CFLAGS= -pthread \
-I/usr/include/gtk-3.0 \
-I/usr/include/pango-1.0 \
-I/usr/include/atk-1.0 \
-I/usr/include/cairo \
-I/usr/include/gdk-pixbuf-2.0 \
-I/usr/include/glib-2.0 \
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include
all: libsgtk.so
libsgtk.so: window.o
gcc -shared -o libsgtk.so window.o
window.o: window.c
gcc $(CFLAGS) -c -fpic window.c
clean:
rm window.o
install:
mv libsgtk.so /usr/local/lib
如您所见,我已将安装路径硬编码为/usr/local/lib
. 这是推荐的方法吗?如果该路径中已经存在同名库怎么办?是否应该在 Makefile 中进行检查,或者是否应该使用其他一些工具来为我提供替代安装路径?