gno/prog.mk

94 lines
2.5 KiB
Makefile
Raw Normal View History

#
# prog.mk version 1.1.0 (August 31, 1997)
#
# $Id: prog.mk,v 1.3 1997/09/26 06:11:07 gdr Exp $
#
# This makefile is intended for use with dmake(1) and occ(1) on Apple IIGS
# It is intended to be .INCLUDE-ed after definition of macros
# PROG=<program name>
# SRCS=<source file list; optional if only $(PROG).c>
# BINDIR=<installation binary directory; default /bin>
# MANDIR=<installation manual directory; default /usr/man>
#
# You have the option to set several macros (either in the makefile or on
# the dmake command line) that will be recognized by gno.prog.mk:
#
# * To turn on debugging, use
# DEBUG=<parm>
# where <parm> indicates the ORCA/C "#pragma debug <parm>" value.
#
# * To turn on compiler optimizations, use
# OPTIMIZE=<parm>
# where <parm> indicates the ORCA/C "#pragma optimize <parm>" value.
# The default optimization is 72 (0x08=disable fixed parm stack repair;
# 0x40=disable var parm stack repair)
#
# * To set a stack size, use
# STACK=<size>
# where <size> indicates the ORCA/C "#pragma stacksize <size>" value.
# The default size is 1024.
#
# * To define compiler macros, use
# DEFINES=-D<name>[=<value>]
#
# An example using command-line options to turn on debugging, set the
# stack size to 4096, and to set the "__STACK_CHECK__" macro:
# dmake DEBUG=25 STACK=4096 DEFINES=-D__STACK_CHECK__
#
# Created by Dave Tribby, July 1997
#
.INCLUDE: /src/gno/paths.mk
.INCLUDE: /src/gno/binconst.mk
# Objects are source file names with .c changed to .o
OBJS=$(SRCS:s/.c/.o/:f)
#
# Check for user-specified compile/load options
#
# Was debugging requested?
.IF $(DEBUG) != $(NULL)
CFLAGS += -G$(DEBUG)
.END
# Was special optimizing requested?
.IF $(OPTIMIZE) == $(NULL)
OPTIMIZE = 78
.END
# Use stack size of 768 bytes if STACK macro isn't already defined
.IF $(STACK) == $(NULL)
STACK = 1024
.END
# Compile and load flags passed to occ
# -r: don't create .root file (used on all but main file)
CFLAGS += -r -O$(OPTIMIZE) $(DEFINES) -s$(STACK)
# If installation directories were not set, use defaults
.IF $(BINDIR) == $(NULL)
BINDIR = /bin
.END
.IF $(MANDIR) == $(NULL)
MANDIR = /usr/man
.END
RELBIN = $(RELEASE_DIR)$(BINDIR)
RELMAN = $(RELEASE_DIR)$(MANDIR)
.INCLUDE: /src/gno/binrules.mk
# Place files where they will subsequently be archived in a binary
# distribution.
release: $(PROG) $(PROG).1 $(DESC)
$(INSTALL) -d $(RELBIN) $(RELMAN)/man1 $(DESC_DIR)
$(INSTALL) $(PROG) $(RELBIN)
$(INSTALL) $(PROG).1 $(RELMAN)/man1
$(DESCU) -o $(DESC_SRC) $(DESC_SRC) $(DESC)