# $Id: Makefile.pmk 1200 2004-09-03 09:09:59Z xsa $

CXX=		@BIN_CXX@
AR=		@BIN_AR@
RANLIB=		@BIN_RANLIB@

CXXFLAGS=	@CXXFLAGS@

ARFLAGS=	cr
SLCXXFLAGS=	@SLCXXFLAGS@
SLLDFLAGS=	@SLLDFLAGS@

NAME=		hello
LIBNAME=	lib$(NAME)
MAJOR=		@LIBPMK_MAJ@
MINOR=		@LIBPMK_MIN@

LIB_STATIC=	$(LIBNAME).a
LIB_SHARED=	@LIBNAME@
LIB_SHARED_V=	@LIBNAMEV@

B_OBJS=		$(NAME).o
L_OBJS=		$(LIBNAME).o


all: show $(LIB_STATIC) $(LIB_SHARED) $(NAME) run_$(NAME) clean

.cc.o:
	@echo ""
	@echo "-> Building object file"
	$(CXX) $(CXXFLAGS) $(SLCXXFLAGS) -c $<

show:
	@echo ""
	@echo "-> Dumping template"
	@echo ""
	@echo "Makefile.pmk:"
	@echo "--dump-begin----------------------------"
	@cat Makefile.pmk
	@echo "--dump-end------------------------------"
	@echo "-> Dumping generated file"
	@echo ""
	@echo "Makefile:"
	@echo "--dump-begin----------------------------"
	@cat Makefile
	@echo "--dump-end------------------------------"

$(LIB_STATIC): $(L_OBJS)
	@echo ""
	@echo "-> Building static lib"
	@echo ""
	$(AR) $(ARFLAGS) $@ $(L_OBJS)
	$(RANLIB) $@

$(LIB_SHARED): $(L_OBJS)
	@echo ""
	@echo "-> Building shared lib"
	@echo ""
	$(CXX) $(SLLDFLAGS) -o $@ $(L_OBJS)
	cp $(LIB_SHARED) $(LIB_SHARED_V)

$(NAME):
	@echo ""
	@echo "-> Building binary"
	@echo ""
	$(CXX) -o $(NAME) -L. -l${NAME}++ $(NAME).cc

run_$(NAME):
	@echo ""
	@echo "-> Running program"
	@echo ""
	@echo "LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./${NAME}"
	@echo ""
	@echo "--exec-begin----------------------------"
	@LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./${NAME}
	@echo "--exec-end------------------------------"

clean:
	@echo ""
	@echo "-> Cleaning ..."
	@echo ""
	rm -f $(B_OBJS) $(L_OBJS)
	rm -f $(LIB_STATIC) $(LIB_SHARED) $(LIB_SHARED_V)
	rm -f $(NAME)
	rm -f *.log Makefile
	@echo "Done."


syntax highlighted by Code2HTML, v. 0.9.1