# ----------------------------------------------------------------------------
# - Makefile                                                                 -
# - afnix standard object library makefile                                   -
# ----------------------------------------------------------------------------
# - This program is  free software;  you can  redistribute it and/or  modify -
# - it provided that this copyright notice is kept intact.                   -
# -                                                                          -
# - This  program  is  distributed in the hope  that it  will be useful, but -
# - without  any   warranty;  without  even   the   implied    warranty   of -
# - merchantability  or fitness for a particular purpose. In not event shall -
# - the copyright holder be  liable for  any direct, indirect, incidental or -
# - special damages arising in any way out of the use of this software.      -
# ----------------------------------------------------------------------------
# - copyright (c) 1999-2007 amaury darsch                                    -
# ----------------------------------------------------------------------------

TOPDIR		= ../../../..
MAKDIR		= $(TOPDIR)/cnf/mak
CONFFILE	= $(MAKDIR)/afnix-conf.mak
RULEFILE	= $(MAKDIR)/afnix-rule.mak
include		  $(CONFFILE)

# ----------------------------------------------------------------------------
# - project configuration                                                    -
# ----------------------------------------------------------------------------

TRGLIB		= afnix-std
DSTDIR		= $(BLDDST)/src/lib/std/shl
EXTLIB		= -L$(BLDLIB) -lafnix-plt
CCRULE		= no

# ----------------------------------------------------------------------------
# - local configuration                                                      -
# ----------------------------------------------------------------------------

CPPLSRC		= $(wildcard ucd/*.cpp obj/*.cpp cpy/*.cpp)
CXXLSRC	        = $(wildcard ucd/*.cxx)

# ----------------------------------------------------------------------------
# - project rules                                                            -
# ----------------------------------------------------------------------------

# rule: all
# this rule is the default rule which call the build rule

all: build
.PHONY: all

# include: rule.mak
# this rule includes the platform dependant rules

include $(RULEFILE)

# rule: subdir
# this rule build all sub directories objects

subdir:
	@${MAKE} -C ucd all
	@${MAKE} -C obj all
	@${MAKE} -C cpy all
.PHONY: subdir

# rule: objects
# this make sure the sub directories are built before the library
$(OBJECTS) : subdir

# rule: build
# this rule build the target library

build: $(TRGLIB)
.PHONY: build

# rule: distri
# this rule install the std distribution files

distri:
	@$(MKDIR) $(DSTDIR)
	@$(CP)    Makefile $(DSTDIR)
	@${MAKE}  -C ucd distri
	@${MAKE}  -C obj distri
	@${MAKE}  -C cpy distri
.PHONY: distri

# rule: install
# this rule install the distribution

install: install-lib
	@${MAKE} -C ucd install
	@${MAKE} -C obj install
	@${MAKE} -C cpy install
.PHONY: install

# rule: clean
# this rule clean all source directories

clean::
	@${MAKE} -C ucd clean
	@${MAKE} -C obj clean
	@${MAKE} -C cpy clean
.PHONY: clean


syntax highlighted by Code2HTML, v. 0.9.1