- 论坛徽章:
- 1
|
- #compiler and linker
- CXX = g++
- CC = gcc
- LINKER = g++
- MAKE = make
- #control version save-dir
- ifdef HXHT_RELEASE
- BIN_DIR = ./release
- else
- BIN_DIR = ./debug
- endif
- #source code dir
- VPATH := ./src
- #target
- TARGET = $(BIN_DIR)/HikVideoSvrHC
- #compile macro
- COMP_MACRO = -D_REENTRANT -D__USE_POSIX -D__linux__ -DIP_DEBUG
- #compile flags
- CCFLAGS += $(COMP_MACRO) -g -Wall
- #libs
- LIB_DIR = -L./hc4000_sdk -L./g729decoder
- SYS_LIBS = -lpthread -ldl -lstdc++ -lm -lcrypt
- PROJECT_LIBS = -lACE -lds40xxsdk -lg729decoder
- LIBS = $(SYS_LIBS) $(LIB_DIR) $(PROJECT_LIBS)
- #optimization
- CCFLAGS += -O2
- # EACH DIRECTORY WITH HEADERS MUST BE APPENDED IN THIS MANNER TO THE CCFLAGS
- CCFLAGS += -I.
- CCFLAGS += -I$(ACE_ROOT)
- #CCFLAGS += -I./src
- # EACH DIRECTORY WITH A STATIC LIBRARY MUST BE APPENDED IN THIS MANNER TO THE LINKOPTS
- CXXFLAGS := $(CCFLAGS)
- CFLAGS =
- CPPFILES = AlarmHandler.cpp \
- AlarmInGetPolicyReq.cpp \
- AlarmInSetPolicyReq.cpp \
- .....
- .....
- CFILES =
- OBJ_DIR = ./obj/
- all: $(TARGET)
- OBJS = $(addprefix $(OBJ_DIR), $(notdir $(CPPFILES:%.cpp=%.o)))
- $(TARGET): $(OBJS)
- $(LINKER) -o $@ $(OBJS) $(CXXFLAGS) $(LIBS)
- %.o:%.cpp
- $(CXX) $(CXXFLAGS) -c $^ -o $(OBJ_DIR)$(notdir $@)
- %.o:%.c
- $(CC) $(CCFLAGS) -c $^ -o $(OBJ_DIR)$(notdir $@)
- check:
- ldd -r $(NAME)
- clean:
- -rm -f $(TARGET) $(OBJS)
- .PHONY:all check clean
复制代码
[ace@SSWork HikVideoServer]$ make
make: *** No rule to make target `obj/AlarmHandler.o', needed by `debug/HikVideoSvrHC'. Stop.
我想把.o 编译到另外一个文件夹...结果找不到依赖规则 |
|