Make.proto
author Claus Gittinger <cg@exept.de>
Thu, 28 Apr 2005 21:12:12 +0200
changeset 280 20b2b26b74ca
parent 193 6ead28d62b77
child 594 f47f274506a4
permissions -rw-r--r--
*** empty log message ***

# $Header$
#
# --- Make.proto created by stmkmp at Tue Jun 17 12:47:37 CEST 2003
#
# Warning: once you modify this file, do not rerun
# stmkmp again - otherwise, your changes are lost.
#
# The Makefile as generated by this Make.proto supports the following targets:
#    make         - compile all st-files to a classLib
#    make install - install the classLib in /opt/smalltalk/...
#    make clean   - clean all temp files
#    make clobber - clean all

# default installation directory:
# (overwrite with 'make INSTALLTOP_DIR=... install')
# the INSTALLBASE is imported from configurations... and usually
# defaults to something like /opt/smalltalk.
# (overwrite with 'make INSTALLBASE=... install')
INSTALLTOP_DIR=$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR)
INSTALLLIB_DIR=$(INSTALLTOP_DIR)
INSTALLBIN_DIR=$(INSTALLTOP_DIR)


#
# position (of this package) in directory hierarchy:
# (must point to ST/X top directory, for tools and includes)
TOP=../../stx

# subdirectories where targets are to be made:
SUBDIRS=

# subdirectories where Makefiles are to be made:
# (only define if different from SUBDIRS)
# ALLSUBDIRS=


# the next define suppresses installation of 
# the classes as autoloaded (i.e. not added to abbrev.stc). 
SUPPRESS_LOCAL_ABBREVS=1


# Argument(s) to the stc compiler.
#  -H.         : create header files locally
#                (if removed, they will be created as common
#  -Pxxx       : defines the package
#  -Zxxx       : a prefix for variables within the classLib
#  -Dxxx       : defines passed to to CC for inline C-code
#  -Ixxx       : include path passed to CC for inline C-code
#  +optspace   : optimized for space
#  +optspace2  : optimized more for space
#  +optspace3  : optimized even more for space
#  +optinline  : generate inline code for some ST constructs
#  +inlineNew  : additionally inline new
#  +inlineMath : additionally inline some floatPnt math stuff
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
# STCLOCALOPTIMIZATIONS=+optspace3
STCLOCALOPTIMIZATIONS=+optspace3


# Argument(s) to the stc compiler.
#  -warn            : no warnings
#  -warnNonStandard : no warnings about ST/X extensions
#  -warnEOLComments : no warnings about EOL comment extension
#  -warnPrivacy     : no warnings about privateClass extension
#
# ********** OPTIONAL: MODIFY the next line(s) ***
# STCWARNINGS=-warn
# STCWARNINGS=-warnNonStandard
# STCWARNINGS=-warnEOLComments
STCWARNINGS=


# if your embedded C code requires any system includes, 
# add the path(es) here:, 
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
LOCALINCLUDES=


# if you need any additional defines for embedded C code, 
# add them here:, 
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
LOCALDEFINES=


#
# The next 2 defines should be left as-is
#  for a class-library package, you can uncomment the following:
#  (it does not hurt much, if you leave it as is - but you may NOT
#   uncomment it if object files are to be loaded individually later).
# INITCODESEPFLAG=$(SEPINITCODE)
#
#  the following MAY ONLY be uncommented for classes/classLibs,
#  which are ALWAYS statically included in the executable.
#  (i.e. not for those which are subject to dynamic loading).
# COMMONSYMFLAG=$(COMMONSYMBOLS)
#
STCLOCALOPT=-I. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALINCLUDES) $(LOCALDEFINES) -H. '-P$(PACKAGE)' '-Z$(LIBNAME)' $(COMMONSYMFLAG) $(INITCODESEPFLAG)


# ********** OPTIONAL: MODIFY the next line ***
# additional C-libraries that should be pre-linked with the class-objects
LD_OBJ_LIBS=

# ********** OPTIONAL: MODIFY the next line ***
# additional C targets or libraries should be added below
LOCAL_EXTRA_TARGETS=

# if you use RCS, there are rules in the Makefile for ci/co
RCSSOURCES=*.st Make.proto

all:: preMake classLibRule postMake

# add more install actions here
install::

# add more install actions for aux-files (resources) here
installAux::

# add more preMake actions here
preMake::

# add more postMake actions here
postMake:: cleanjunk

cleanjunk::

clean::
	-rm -f *.o *.H

clobber::
	-rm -f *.so *.dll

$(INSTALLBASE)::
	@test -d $@ || mkdir $@

$(INSTALLBASE)/packages:: $(INSTALLBASE)
	@test -d $@ || mkdir $@

$(INSTALLBASE)/packages/$(MODULE):: $(INSTALLBASE)/packages
	@test -d $@ || mkdir $@

$(INSTALLBASE)/packages/$(MODULE)/$(MODULE_DIR):: $(INSTALLBASE)/packages/$(MODULE)
	@test -d $@ || mkdir $@

# if other things are to be compiled,
# add target definitions here,
# and list them in LOCAL_EXTRA_TARGETS above.
# (care for make syntax - TABS are required in the actions)
# foo:  foo.o
#         $(CC) -o foo foo.o
# 'make depend' will add dependency info between
# BEGIN...END below
#
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
# ENDMAKEDEPEND --- do not remove this line