终级makefile

终级makefile

 

# Aaron.xu [email protected]

targets 
=  main
# CFLAGS        = -g
#LDFLAGS    = -rdynamic
#INC_PATH    = -I ../


CXX         
=  g ++
SRC_EXT        
=  cpp
SRC_FILE    
=  $(wildcard  *. $(SRC_EXT))

ifeq (
, $(SRC_FILE))
    SRC_EXT        
=  c
    SRC_FILE    
=  $(wildcard  *. $(SRC_EXT))
endif

OBJ_FILE    
=  $(patsubst  %. $(SRC_EXT) ,%. o , $(wildcard  *. $(SRC_EXT)))
HEADER_FILE 
=  $(wildcard  *. h)


. PHONY : all , clean , test

all
: $(targets)

$(targets)
: $(OBJ_FILE)
    $(CXX) 
- o $@ $ ^  $(LDFLAGS) $(INC_PATH)

# $(OBJ_FILE):
#$(CXX) $(patsubst %.o,%.$(SRC_EXT),$@) -c $(CFLAGS) -o $@


%. :   %. $(SRC_EXT) $(HEADER_FILE)
    $(CXX) 
- o $@  - c $ <   $(CFLAGS) $(INC_PATH)

clean
:
    rm 
- *. o
    rm 
- f $(targets)

test
:
    
./ $(targets)

 

你可能感兴趣的:(终级makefile)