1
0
Files
irix-657m-src/eoe/Makefile
2022-09-29 17:59:04 +03:00

113 lines
3.7 KiB
Makefile

#! smake
#
# Makefile for irix ism
#
# The main targets at the top level are:
#
# default:this performs a bootstrap (headers and exports) then
# builds all of the software in place. No rawidb is generated and
# targets are not installed anywhere. No ism image is generated
#
# headers:install all headers. This should always be run without RAWIDB set.
#
# exports:builds and installs all libraries and data files that are required
# to build the rest of the ism. This should always be run without
# RAWIDB set.
#
# install:builds and installs the entire ism. 'headers' and 'exports'
# must be run previous to 'install'. With RAWIDB set this will
# generate the rawidb for the ism. Without RAWIDB set, all the
# ism objects will be installed in $ROOT
#
# rawidb:executes 'install' with RAWIDB set to the file that the ism image
# generation makefile (in build/) expects. As with 'install'
# 'headers' and 'exports' must be run beforehand.
#
# ism:descends into the build directory and performs the steps to generate
# the finalidb. At this point images may be generated.
# 'rawidb' must have already been run.
#
# images: descends into the build directory and builds ism images.
# 'rawidb' and 'ism' must have been run previously.
#
# clean:removes .o's
# clobber:removes all non-source. The effective of 'clobber' can be checked
# by running p_check -w after running 'clober'
# rmtargets:removes TARGETS only
#
# since we define commondefs, etc they are referenced from their source
# we also cannot include ismcommondefs here since it includes commondefs
# So, don't use this makefile as a template!
#
RULESDIR=include/makerules
include $(RULESDIR)/commondefs
RELEASEDEFS=$(RULESDIR)/releasedefs
COMMONRULES=$(RULESDIR)/commonrules
SUBDIRS= include lib cmd man build relnotes books
COMMONPREF=eoe
HEADERS_SUBDIRS=include lib cmd
EXPORTS_SUBDIRS=lib cmd
SRC!=pwd
IDBFILE=${SRC}/build/IDB
ISM_NAME=eoe
#ifndef SRC_PRD
default:headers exports $(_FORCE)
#else
default: $(_FORCE)
#endif
$(SUBDIRS_MAKERULE)
$(COMMONTARGS) install:$(COMMONPREF)$$@ $(_FORCE)
$(SUBDIRS_MAKERULE)
# Since this ism defines ismcommonrules we must assume it isn't installed yet!
include $(RULESDIR)/ismcommonrules
#
# INSTALL rules for transitional IRIX ism installation
# This rule needs to do any replaces rules and removal
# of binaries that have changed location
# Also handles any temprorary linking to maintain compatibility
#
$(COMMONPREF)install:
SRC=$(SRC) $(INSTALL) -F /etc -lns ../usr/sbin/prfld prfld
SRC=$(SRC) $(INSTALL) -F /etc -lns ../usr/sbin/prfdc prfdc
SRC=$(SRC) $(INSTALL) -F /etc -lns ../usr/sbin/prfpr prfpr
SRC=$(SRC) $(INSTALL) -F /etc -lns ../usr/sbin/prfsnap prfsnap
SRC=$(SRC) $(INSTALL) -F /etc -lns ../usr/sbin/prfstat prfstat
SRC=$(SRC) $(INSTALL) -F /usr/bin -lns ../lib/iaf/scheme login
SRC=$(SRC) $(INSTALL) -F /usr/bsd -lns ../bin/more more
SRC=$(SRC) $(INSTALL) -F /usr/bsd -lns ../lib/more.help more.help
SRC=$(SRC) $(INSTALL) -F /usr/bsd -lns ../bin/script script
SRC=$(SRC) $(INSTALL) -F /usr/lib -lns ../share/lib/terminfo terminfo
SRC=$(SRC) $(INSTALL) -idb 'exitop("rm -fr $$rbase/etc/xutmp $$rbase/etc/xwtmp $$rbase/var/sysgen/master.d/master.c $$rbase/bin/rsh")' -dir /
headers:$(_FORCE)
$(HEADERS_SUBDIRS_MAKERULE)
exports:$(_FORCE)
$(EXPORTS_SUBDIRS_MAKERULE)
#
# This top level doesn't need to do anything special for these targets
#
$(COMMONPREF)default $(COMMONPREF)clean $(COMMONPREF)clobber $(COMMONPREF)rmtargets:
$(SUBDIRS):$(_FORCE)
cd $@; $(MAKE)
rawidb:$(_FORCE)
@RAWIDB=$(IDBFILE); export RAWIDB ; \
if [ -f $$RAWIDB ] ; then mv $$RAWIDB $$RAWIDB.prev ; fi ;\
echo "RAWIDB=$$RAWIDB SRC=$(SRC) $(MAKE) install" ;\
$(MAKE) SRC=$(SRC) install
ism:$(_FORCE)
cd build; $(MAKE) buildism
images:$(_FORCE)
cd build; $(MAKE) buildimages