#
# split Makefile
#
AR=ar
ARFLAGS=-cr
CC=gcc
SRC=rbtree_test.c red_black_tree.c
SRCC=
OBJ=$(SRC:.cpp=.o)
OBJC=$(SRCC:.c=.o)
OBJ_DBG=$(SRC:.cpp=DBG.o)
OBJC_DBG=$(SRCC:.c=DBG.c.o)
CXX_FLAG= -O2
CXX_FLAG_DBG= -g
INCLUDE=-I./
LIB_REF=
LIB_REF_DBG=
all: debug release tools install
debug:redblack.dbg
release: redblack
redblack: $(OBJ) $(OBJC)
$(CC) -o $@ $^ $(CXX_FLAG) $(LIB_REF)
# rm *.o
redblack.dbg: $(OBJ_DBG) $(OBJC_DBG)
$(CC) -o $@ $^ $(CXX_FLAG_DBG) $(LIB_REF_DBG)
# rm *.o
tools:
# $(CC) -o checksplit checksplit.cpp $(CXX_FLAG) $(LIB_REF) $(INCLUDE)
# $(CC) -o checksplit.dbg checksplit.cpp $(CXX_FLAG_DBG) $(LIB_REF_DBG) $(INCLUDE)
install:
.cpp.o:
$(CC) -c $(CXX_FLAG) $< $(INCLUDE)
.c.o:
$(CC) -c $(CXX_FLAG) $< $(INCLUDE)
%DBG.o : %.cpp
$(CC) -o $@ $< -c $(CXX_FLAG_DBG) $(INCLUDE)
%DBG.c.o : %.c
$(CC) -o $@ $< -c $(CXX_FLAG_DBG) $(INCLUDE)
clean:
rm -f *.o redblack redblack.dbg
allclean: clean