Makefile 求指导
两个 目录 A8 和 StopWait 各含 若干个 c cpp h
env.mk
#CC:=gcc
CC:=arm-arago-linux-gnueabi-gcc
CFLAGS := -Wall -g -lpthread
INCLUDE_DIR := -I$(MAKEROOT)/A8 -I$(MAKEROOT)/StopWait
%.o : %.c
$(CC) $(CFLAGS) -c $^ -o $(MAKEROOT)/obj/$@ $(INCLUDE_DIR)
%.o : %.cpp
$(CC) $(CFLAGS) -c $^ -o $(MAKEROOT)/obj/$@ $(INCLUDE_DIR)
makefile
export MAKEROOT := $(shell pwd)
TARGET_DIRS := A8 StopWait
include ./env.mk
define build_obj
for SubDir in $(TARGET_DIRS); do make -C $SubDir all || exit1; done
endef
.PHONY:all
all:
$(call build_obj)
${CC} -Wl --hash-style=sysv -g -lpthread -o main.out ./obj/*.o
.PHONY:clean
clean:
-rm -rf *.out ./obj/*.o
错误
for SubDir in A8 StopWait; do make -C $SubDir all || exit1; done
make[1]: 正在进入目录 `/root/桌面/A8FNode1/A8'
make[1]: *** 没有规则可以创建目标“all”。 停止。
make[1]:正在离开目录 `/root/桌面/A8FNode1/A8'
/bin/sh: exit1: not found
make[1]: 正在进入目录 `/root/桌面/A8FNode1/StopWait'
make[1]: *** 没有规则可以创建目标“all”。 停止。
make[1]:正在离开目录 `/root/桌面/A8FNode1/StopWait'
/bin/sh: exit1: not found
make: *** [all] 错误 127
|