#file of makefile path
ROOT = .
#target names
EXE_RELEASE =
#include file
CPP =
CPL =
#eg:
#方法一
#CPP =$(shell find $(ROOT) -name '*.cpp')
#CPL = $(shell find $(ROOT) -name '*.c')
#方法二
#CPP = $(wildcard $(ROOT)/*.cpp)
#CPL = $(wildcard $(ROOT)/zip/*.c)
#obj file
OBJS =
#eg:
#OBJS = $(patsubst %.cpp,%.o,$(CPP)) $(patsubst %.c,%.o,$( CPL))
#sql lib path
LIBDIRS =
#eg:
#LIBDIRS = -L/usr/local/mysql/lib -L./
#include directories
INCDIRS = -I./
#compile rule
CC = g++
CFLAGS = -c -O2 -w -rdynamic -lstdc++ -fPIC
LINKFLAGS = -lpthread -lmysqlclient
COMPILE = $(CC) $(INCDIRS) $(CFLAGS) -c -o $@ $<
#或者
#COMPILE = $(CC) $(INCDIRS) $(CFLAGS) $(@D)/$(<F) -o $(@D)/$(@F)
LINK = $(CC) $(INCDIRS) $(LIBDIRS) -o $(EXE_RELEASE) $(OBJS) $(LINKFLAGS)
all:$(EXE_RELEASE)
%.o:%.cpp
$(COMPILE)
%.o:%.c
$(COMPILE)
$(EXE_RELEASE): $(OBJS)
$(LINK)
clear:
@rm -f $(OBJS) $(EXE_RELEASE)