# -*- Mode:makefile; Mode:font-lock; -*-
#############################################################################
# RCS: ProMAX $Id: Makefile_client 36508 2004-11-19 17:33:59Z salevin $ $Revision: 36508 $ $Date: 2004-11-19 10:33:59 -0700 (Fri, 19 Nov 2004) $
#############################################################################

# Overrides

override master := no
override static := no

# Standard definitions

include advance.make

# Include files to be shared.
gincs := \
$(newglobalincs)

# Insert some source code.
srcs := \
$(newsrcs)

# Where object files will go and where source code is.
objdir := objlibdir
srcdir := srclibdir

# This is the name of our parent directory.
parentdir := maxtool

# Defining the include file holding amakedepend dependencies.
depend_include := $(parentdir).depend


# Set up the sub directory and figure out what includes are needed.
incsubdir := $(parentdir)/
globalincs := $(define_ugincs)

# The libraries (non-shared and otherwise).
lib := $(libdir)/lib$(parentdir)c$(lib_suf)

# Massage source list for non-C++ links
ifeq ($(clink),yes)
  srcs := $(filter-out %.$(CXX_SUF),$(srcs))
endif

# Figure out user and actual srcs and objs.
uobjs := $(define_uobjs)
usrcs := $(define_usrcs)
aobjs := $(define_aobjs)

# Libraries needed for linking.
libs := 

# "lgclibs" used for other Landmark libraries:
lgclibs := 

# "other_libs" used for third party libraries:
other_libs := 

# "PRELIBS" used for libraries that MUST be used before "libs" libraries:
PRELIBS := 

# The top level rule.
all : $(globalincs) $(libs) $(lib)

# A general rule for creating a depend include file.
# It requires depend_include to be set.
depend: $(usrcs)
	$(AMAKEDEPEND)

# Backup and link the library.
ifeq ($(clink),yes)
$(lib): $(uobjs)
	$(ARCHIVE_CREATE)
else
$(lib): $(uobjs)
	$(ARCHIVE_CXX_LIB)
endif

# Other rules.
# Put other rules here, like for copying things or other special things, like:

# Implicit rule to copy global header files
$(incdir)/$(parentdir)/%.h : $(srclibdir)/$(parentdir)/%.h
	$(COPYFILE)

# Implicit rule to copy global source files
$(incdir)/$(parentdir)/%.c : $(srclibdir)/$(parentdir)/%.c
	$(COPYFILE)

# Implicit rule to compile C++ source code.
$($(objdir))/$(parentdir)/%.o : %.$(CXX_SUF)
	$(CXX_COMPILE)

# Implicit rule to compile ansi c source code.
$($(objdir))/$(parentdir)/%.o : %.c
	$(ANSIC_COMPILE)

# Implicit rule to compile FORTRAN source code.
$($(objdir))/$(parentdir)/%.o : %.f
	$(F_COMPILE)

# Generic rules to clean up.
cleanlib:
	@echo "Removing: $(lib) $(libns)"; \
	/bin/rm -f $(lib) $(libns) 2> /dev/null

cleanobjs:
	@echo "Removing: $(objlibdir)/$(parentdir)"; \
	/bin/rm -rf $(objlibdir)/$(parentdir) 2> /dev/null

cleanincs:
	@echo "Removing: $(incdir)/$(parentdir)"; \
	rm -fr $(incdir)/$(parentdir) 2> /dev/null

clean: cleanlib cleanobjs

# Include the dependency include file if it exists.
ifneq ($(wildcard $(depend_include)),)
   include $(depend_include)
endif

# be quiet
.SILENT:
.PHONY: all depend cleanlib cleanobjs clean
.PRECIOUS: $(lib) $(libns)
