59 lines
1.1 KiB
Makefile
59 lines
1.1 KiB
Makefile
######################################
|
||
#
|
||
######################################
|
||
#source file
|
||
#源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件
|
||
SOURCE := $(wildcard *.c) $(wildcard *.cpp)
|
||
OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))
|
||
|
||
#target you can change test to what you want
|
||
#目标文件名,输入任意你想要的执行文件名
|
||
TARGET := datahubs
|
||
|
||
#compile and lib parameter
|
||
#编译参数
|
||
CC := g++
|
||
LIBS := -L/usr/local/lib -lhv -lsqlite3 -lopdb -lpthread -liconv -ldl -lz
|
||
LDFLAGS :=
|
||
DEFINES :=
|
||
INCLUDE := -I. -I/usr/local/include
|
||
|
||
CFLAGS := -Wall -O3 $(DEFINES) $(INCLUDE) -std=c++11
|
||
|
||
# 根据 DEBUG 宏决定是否包含调试信息
|
||
ifeq ($(DEBUG), 1)
|
||
CFLAGS += -g -D_DEBUG
|
||
else ifeq ($(debug),1)
|
||
CFLAGS += -g -D_DEBUG
|
||
endif
|
||
|
||
CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H
|
||
|
||
#i think you should do anything here
|
||
#下面的基本上不需要做任何改动了
|
||
.PHONY : everything objs clean veryclean rebuild
|
||
|
||
|
||
everything : $(TARGET)
|
||
|
||
all : $(TARGET)
|
||
|
||
|
||
objs : $(OBJS)
|
||
|
||
|
||
rebuild: veryclean everything
|
||
|
||
|
||
clean :
|
||
rm -fr *.so
|
||
rm -fr *.o
|
||
|
||
|
||
veryclean : clean
|
||
rm -fr $(TARGET)
|
||
|
||
|
||
$(TARGET) : $(OBJS)
|
||
$(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
|