ÔÚlinuxÏÂÃæ£¬ÎÒÃDz»µÃ²»×Ô¼ºÐ´makefile£¬makefileµÄÈ·²©´ó¾«Éµ«ÊÇʵ¼ÊÉ϶ÔÓÚÈÕ³£µÄʹÓÃÀ´Ëµ£¬Î޷ǾÍÊÇ
1£º±àÒë¿ÉÖ´ÐгÌÐò¡£2£º±àÒëlib¿â
3£º±àÒëso¿â
±¾²©Õë¶ÔÉÏÃæÈýÖÖÄ¿µÄ¸÷×Ôд³öÁËmakefileÄ£°æ£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
Ò».±àÒë¿ÉÖ´ÐгÌÐò
µ±Ç°Ä¿Â¼ÏÂÖÆ¶¨Îļþ±àÒë³É¿ÉÖ´ÐÐÎļþ£¨Á¬½ÓÍⲿ¿âµÄ»°Ö»ÐèÒª¸ü¸ÄINCºÍLIB¼´¿É£©
CXX = g++
TARGET =
bitmaploctest
C_FLAGS += -g -Wall
LIB_FLAGS = -pthread
all: $(TARGET)
bitmaploctest: bitmaploctest.o bitmaploc.o
file_lock.o
$(CXX) -o $@ $^ $(LIB_FLAGS) $(LIB) $(C_FLAGS)
.cpp.o:
$(CXX) -c -o $*.o $(INC) $(C_FLAGS) $*.cpp
.cc.o:
$(CXX) -c -o $*.o $(INC) $(C_FLAGS) $*.cc
clean:
-rm
-f *.o
$(TARGET)
¶þ.±àÒë³Élib¿â
µ±Ç°Ä¿Â¼ÏÂÖ¸¶¨Îļþ±àÒë³Élib¿â(Ò»°ãlib¿âÔÚ±àÒëµÄʱºò²»»á½«Ê¹ÓõÄÍⲿ¿â±àÒë½øÀ´£¬¶øÊǵȱàÒë³É¿ÉÖ´ÐгÌÐòʱ»òÕß.soʱ)
INC_DIR= ./
SRC_DIR=
./
OBJ_DIR= ./
LIB_DIR=
./
H_DIR= ./
OBJ_EXT=
.o
CXXSRC_EXT= .cpp
CSRC_EXT= .c
LIB_EXT= .a
H_EXT=
.h
OBJECTS =
$(OBJ_DIR)bitmaploc$(OBJ_EXT)
\
$(OBJ_DIR)file_lock$(OBJ_EXT)
LIB_TARGET =
$(LIB_DIR)libbitmaploc$(LIB_EXT)
$(OBJ_DIR)%$(OBJ_EXT):
$(SRC_DIR)%$(CXXSRC_EXT)
@echo
@echo
¡°Compiling $< ==>
$@¡¡±
$(CXX) $(INC) $(C_FLAGS) -c
$< -o
$@
$(OBJ_DIR)%$(OBJ_EXT): $(SRC_DIR)%$(CSRC_EXT)
@echo
@echo ¡°Compiling
$< ==>
$@¡¡±
$(CC) -I./ $(INC) $(C_FLAGS) -c $< -o $@
all:$(LIB_TARGET)
$(LIB_TARGET): $(OBJECTS)
all: $(OBJECTS)
@echo
$(AR) rc
$(LIB_TARGET) $(OBJECTS)
@echo ¡°ok¡±
clean:
rm -f
$(LIB_TARGET) $(OBJECTS)
Èý.±àÒë³Éso¿â
µ±Ç°Ä¿Â¼ÏÂÖ¸¶¨Îļþ±àÒë³Éso¿â£¨±ØÐ뽫ËùÓÐÒýÓõÄÍⲿ¿â¶¼±àÒë½øÀ´£©
CC = gcc
CXX
= g++
CFLAGS = -Wall -pipe -DDEBUG
-D_NEW_LIC -g -D_GNU_SOURCE -shared -D_REENTRANT
LIB = -lconfig
-ldl -lrt -L../../lib -lttc -g
INCLUDE = -I../spp_inc
OO = service.o tinystr.o tinyxml.o tinyxmlerror.o
tinyxmlparser.o uin_conf.o stat.o
TARGETS = ../../lib/libRanch.so
all: $(TARGETS)
stat:tool_stat.cpp
$(CXX) $(INCLUDE)
tool_stat.cpp -o tool_stat stat.o tinystr.o
tinyxml.o tinyxmlerror.o tinyxmlparser.o -g
cp tool_stat ../../bin
$(TARGETS): $(OO)
$(CXX) $(CFLAGS) $(INCLUDE) $(OO)
-o $@ $(LIBDIR) $(LIB)
.c.o:
$(CC) $(CFLAGS) -c $(INCLUDE) $<
echo $@
.cpp.o:
$(CXX) $(CFLAGS) -c $(INCLUDE) $<
echo $@
%:%.c
$(CC) $(CFLAGS) -o $@ $<
$(OO) $(LDFLAGS)
echo $@
clean:
rm -f
*.o
rm -f $(TARGETS)
rm -f tool_stat
OK£¬ÎÒ³£ÓõÄmakefileÒ²¾ÍÕâÈýÖÖ¸ñʽ£¬Ï£Íû¶Ô´ó¼ÒÓÐÓÃ
×ªÔØ×ÔVimerµÄ³ÌÐòÊÀ½ç [ http://www.vimer.cn ]

