參考資訊:
https://stackoverflow.com/questions/26133377/understanding-makefile-with-c-o-and
每個*.c各自編譯成Binary
CROSS = arm-linux-gnueabihf- CFLAGS = -Wall LDFLAGS = -lm SRCS = $(wildcard *.c) OBJS = $(SRCS:c=o) BINS = $(SRCS:.c=) export PATH=/opt/XXX/bin:$(shell echo $$PATH) .PHONY: all all: $(BINS) $(BINS): % : %.c $(CROSS)gcc $(CFLAGS) $(LDFLAGS) $< -o $@ .PHONY: clean clean: rm -rf $(BINS) $(OBJS)
所有*.c編譯成一個Binary
CROSS = arm-linux-gnueabihf- CFLAGS = -Wall LDFLAGS = -lm TARGET = test SRCS = $(wildcard *.c) OBJS = $(SRCS:c=o) export PATH=/opt/XXX/bin:$(shell echo $$PATH) .PHONY: all all: $(OBJS) $(CROSS)gcc $(CFLAGS) $(LDFLAGS) $< -o $(TARGET) %.o: %.c $(CROSS)gcc $(CFLAGS) $(LDFLAGS) $< -c $@ .PHONY: clean clean: rm -rf $(BINS) $(OBJS)