共计 581 个字符,预计需要花费 2 分钟才能阅读完成。                                
                                                        
	 
INC = -I./
TARGET = myprogram
BASEDIR=./
OBJDIR=./obj/
SRCDIR=$(BASEDIR)
SRCDIR+=$(shell ls -F $(BASEDIR) | grep "/")
VPATH=$(SRCDIR)
SOURCE=$(foreach subdir, ${SRCDIR}, $(wildcard ${subdir}*.c))
SRC=$(notdir $(SOURCE))
SRCOBJ=$(patsubst %.c,%.o,$(SRC))
OBJ=$(addprefix $(OBJDIR), $(SRCOBJ))
.PHONY:clean
all: $(OBJDIR) $(TARGET)
$(OBJDIR):
	@if [! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi
$(OBJDIR)%.o: %.c
	gcc  -c  $< -o $@  $(INC) 
	@echo Compile $< ... $@ 
$(TARGET): $(OBJ)
	gcc -L. -Bstatic -pthread  $^ -o $(TARGET) $(INC)  $(LIB)  
	@echo Build... $(TARGET) 
install:
	@cp $(TARGET) ../bin
clean:
	@$(RM) $(OUTPUT) $(OBJDIR) -rf
	@$(RM) $(TARGET) 
tar:
	./install.sh