在linux下用c写程序,自然会接触makefile,同时很多时候要自己去写makefile;关于makefile的作用,大家可以参考《跟我一起写Makefile》。
下面是我写的makefile,不适用一个工程中多个文件夹到结构,只适用于单个文件夹到工程。
#**********************************************************************************************************
CC = gcc -g
RM = rm -f
CFLAGS = `pkg-config gtk+-2.0 --cflags`
LDLIBS = `pkg-config gtk+-2.0 --libs`
Target = hellogtk+
SRC=$(wildcard *.c)
OBJ=$(SRC:.c=.o)
$(Target):$(OBJ)
$(CC) $(LDLIBS) $^ -o $@
%.o:%.c
$(CC) $(CFLAGS) -c $< -o $@
#.PHONY:clean
clean:
$(RM) $(OBJ) $(Target)
#**********************************************************************************************************
不过这其中有个缺陷:最后生成到目标文件的名字,需要手动去修改此makefile的Target的定义。希望哪位大虾能帮忙解决它,不胜感谢 |