makefile

来源:互联网 发布:女士内裤 知乎 编辑:程序博客网 时间:2024/06/05 14:24

cc  = g++
TSF4G_LIB  = /home/x86_64/lib/
includes = -I/home/x86_64/include
CFLAGS += -L$(TSF4G_LIB) $(TSF4G_LIB)libtsf4g.a -Wl,-Bstatic -lscew -lexpat -Wl,-Bdynamic  -lpthread
TEST_TOOL = test

all : $(TEST_TOOL)
$(TEST_TOOL): test.o
 $(cc) -o $(TEST_TOOL) test.o $(CFLAGS)
 
 
test.o : %.o : %.cpp
 $(cc) -c $(includes) $< -o $@

.PHONY :  clean
clean:
 -rm *.o $(TEST_TOOL)


_____________________________________________________________________________________

CXX = gcc
APP_CFILE   =   $(wildcard *.c)
APP_OBJ     =   $(patsubst %.c, %.o, $(APP_CFILE))

TARGET_OBJ  =   $(APP_OBJ)
APP_EXE     =   test
CXXFLAG  =   -Wall -g -ggdb -Wextra -pipe
LDFLAG  =   -lm -lc -lz -lrt


INCLUDES    =   -I/home/x86_64/include
TSF4G_LIB  = /home/x86_64/lib/
APP_IMPORT_LIBS=-L$(TSF4G_LIB) $(TSF4G_LIB)libtsf4g.a -Wl,-Bstatic -lscew -lexpat -Wl,-Bdynamic  -lpthread


.PHONY: all clean

all : $(APP_EXE)

 

$(APP_EXE) : $(TARGET_OBJ)
 $(CXX)  -o $(APP_EXE) $(TARGET_OBJ) $(APP_IMPORT_LIBS) $(LDFLAG)

%.o : %.c
 $(CXX) -c $(CXXFLAG) $(INCLUDES) $< -o $@


clean:

 -rm *.o $(APP_EXE)

__________________________________________________________________________________________

 


CXX = gcc
LANGUAGE = c


APP_CFILE   =   $(wildcard *.$(LANGUAGE))
APP_OBJ     =   $(patsubst %.$(LANGUAGE), %.o, $(APP_CFILE))
TARGET_OBJ = $(addprefix $(TMP_DIR)/, $(APP_OBJ))
TARGET_OBJ  =   $(APP_OBJ)
APP_EXE     =   test
IOBASE  =   libiobase.a
CXXFLAG  =   -Wall -g -ggdb -Wextra -pipe
LDFLAG  =   -lm -lc -lz -lrt


INCLUDES    =   -I/home/x86_64/include
TSF4G_LIB  = /home/x86_64/lib/
APP_IMPORT_LIBS= $(WC_LIB_TSF4G)/libtlog.a $(WC_LIB_TSF4G)/libtloghelp.a $(WC_LIB_TSF4G)/libtdr_xml.a $(WC_LIB_TSF4G)/libtaa.a \
     $(WC_LIB_TSF4G)/libtmng.a $(WC_LIB_TSF4G)/libpal.a $(WC_LIB_TSF4G)/libcomm.a $(WC_LIB_TSF4G)/libscew.a \
     iobase/libiobase.a -Wl,-Bstatic -lexpat -Wl,-Bdynamic -lpthread
APP_IMPORT_LIBS=-L$(TSF4G_LIB) $(TSF4G_LIB)libtsf4g.a -Wl,-Bstatic -lscew -lexpat -Wl,-Bdynamic  -lpthread


.PHONY: all clean depend

all : $(APP_EXE) depend $(IOBASE)


-include .depend

$(APP_EXE) : $(TARGET_OBJ)
 $(CXX)  -o $(APP_EXE) $(TARGET_OBJ) $(APP_IMPORT_LIBS) $(LDFLAG)
 @-( mv $(APP_EXE) ../bin/ )
 @-( echo "compile complete" )

$(TMP_DIR)/%.o : %.$(LANGUAGE)
%.o : %.$(LANGUAGE)
 $(CXX) -c $(CXXFLAG) $(INCLUDES) $< -o $@

$(IOBASE) :
 @(make -C iobase) //到指定目录去执行makefile

#depend :
 $(CXX) -MM $(CXXFLAG) $(INCLUDES) $(APP_CFILE) > .depend
 @-( ./replace.sh )
 @-( chmod +x replace.sh )

clean:
 @-(rm -f iobase/$(TMP_DIR)/*.o iobase/.depend iobase/libiobase.a)
 @-(rm -f $(TMP_DIR)/*.o .depend)
 @-(rm -f ../bin/$(APP_EXE))
 -rm *.o $(APP_EXE)

 

 


 

0 0
原创粉丝点击