正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

版本 1 当前 »

示例:

HOME := $(shell echo ${GSF_HOME})
CC := $(shell echo ${GSF_CC})
AR := $(shell echo ${GSF_AR})
CFLAGS := $(shell echo ${GSF_CFLAGS})
LDFLAGS := -g $(shell echo ${GSF_LDFLAGS}) $(shell echo ${GSF_EXECFLAGS})
TARG := bin/bsp.exe

#============================================================= 

INCS := -I$(HOME) -Isrc -Iinc

TMPDIR := ./objs
VPATH = ./src
SRCS := $(notdir $(wildcard ./src/*.c))

OBJS = $(SRCS:%.c=$(TMPDIR)/%.o)
DEPS = $(SRCS:%.c=$(TMPDIR)/%.d)
PRES = $(SRCS:%.c=$(TMPDIR)/%.i)

LIBS += -L$(HOME)/lib/$(GSF_CPU_ARCH) -lcfifo -lrt -lnm -lcjson -lcomm -lm -lpthread

$(TARG): $(OBJS) $(PRES)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
	cp $(TARG) $(HOME)/bin/$(GSF_CPU_ARCH)/ -v

$(TMPDIR)/%.o: %.c $(TMPDIR)/%.d
	$(CC) $(CFLAGS) $(INCS) -c -MMD -MP $< -o $@
	
$(TMPDIR)/%.i: %.c $(TMPDIR)/%.d
	$(CC) $(CFLAGS) $(INCS) -E $< -o $@

clean:
	-rm $(TARG) $(OBJS) $(DEPS) $(PRES) src/*.bak -rf
	
$(TMPDIR)/%.d: ;

-include $(DEPS)

.Phony: clean

参考链接:https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#Preprocessor-Options

  • 无标签