日期:2014-05-16  浏览次数:20766 次

请教:这个makefile还可以简化吗?
不知道如下的makefile是否还可以简化?可以简化到什么程度?急盼指教。

objects=main.o   play.o   play_def.o   pause.o   resume.o   stop.o   get_info.o   \   vol_ctrl.o   vol_read.o   eject.o   display_menu.o   get_num_of_track.o   \
function.o   next.o   last.o   sub_channel.o

all:$(objects)   cdplayer

cdplayer:$(objects)
gcc   -o   cdplayer   $(objects)

$(objects):%.o:%.c
gcc   -c   $ <   -o   $@

clean:
rm   cdplayer   $(objects)


------解决方案--------------------
$(objects):%.o:%.c
gcc -c $ < -o $@
这两行可以去掉,用隐含规则就可以了。
------解决方案--------------------

SRC=$(wildcard *.c)
OBJS=${SRC:%.c=%.o}
NAME=${SRC:%.c=%}
TARGET=cdplayer

all : $(OBJS)
gcc $^ -o $(TARGET)

clean:
rm -fr *.o core

------解决方案--------------------
http://www.chinaunix.net/jh/23/408225.html
------解决方案--------------------
你上CSDN博客上找陈皓专栏。。。
里面写的很不错。。。