非再帰メイクファイルに関する Emile van Bergen の記事を読んだ後、再帰から非再帰に移行しようとしていますが、うまくいかないようです。
追記:やっと直りました
ファイルは次のとおりです。
$ ls -R
.:
folder1 Makefile test.c topRules.mk
./folder1:
file.c Rules.mk
test.c
extern void sub_print();
void main()
{
printf("Top Hello\r\n");
sub_print();
}
メイクファイル
TARGET = test.exe
.PHONY: all
all: $(TARGET)
include topRules.mk
dir = folder1
include folder1/Rules.mk
$(TARGET): test.o $(OBJS_folder1)
$(LINK)
topRules.mk
COMPILE = $(CC) $(CFLAGS) -o $@ -c $<
LINK = $(CC) -o $@ $^
%.o: %.c
$(COMPILE)
フォルダー1/Rules.mk
sp := $(sp).x
dirstack_$(sp) := $(d)
d := $(dir)
OBJS_$(d) := $(d)/file.o
$(d): $(OBJS_$(d))
folder1/file.c
void sub_print()
{
printf("Hello Sub World\r\n");
}