0

2 つのファイルをコンパイルするために、オブジェクト名に言及するために使用するメイクファイルを作成しました。

OBJ = led-player_backup.o led-player.o

私のフォルダに100個のファイルが含まれている場合、100個のオブジェクトの名前をmakefileに書き込む必要がありますか。この場合、すべての *.c ファイルのオブジェクト ファイルを作成するパターン ルールを記述できますか。

ここに私のオリジナルのメイクファイルがあります。同じことを達成するために何を変更しますか?

# ----------------------------------------------------------------------------
# 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
4

1 に答える 1

0

試す:

OBJ := $(patsubst %.c,%.o,$(wildcard *.c))
于 2013-10-18T15:00:01.020 に答える