程式語言 - GNU - Makefile Template (*.c:*.bin)



參考資訊:
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)