为了编译两个文件,我创建了一个生成文件,用于提及对象名称。
OBJ = led-player_backup.o led-player.o
现在,如果我的文件夹包含 100 个文件,我是否必须在 makefile 中写入 100 个对象的名称。在这种情况下是否可以编写一些模式规则来为所有 *.c 文件制作目标文件。
这是我原来的makefile。为了达到同样的效果,需要修改什么?
# ----------------------------------------------------------------------------
# Makefile for building tapp
#
# Copyright 2010 FriendlyARM (http://www.arm9.net/)
#
ifndef DESTDIR
DESTDIR ?= /opt/FriendlyARM/tiny6410/linux/rootfs_qtopia_qt4
endif
CFLAGS = -Wall -O2 # wall is for warning show and 02 is optiminisation level 2
CC = arm-linux-gcc # compiler name
INSTALL = install #
TARGET = led-player
OBJ = led-player_backup.o led-player.o
#all: $(TARGET)
all: $(OBJ)
%.o : %.c
$(CC) $(CFLAGS) $< -o $@
#$< -o $@
install: $(TARGET)
$(INSTALL) $^ $(DESTDIR)/usr/bin
clean :
rm -rf *.o $(TARGET)
# ----------------------------------------------------------------------------
.PHONY: $(PHONY) install clean
# End of file
# vim: syntax=make