# Copyright (c) 1993 Xerox Corporation. All rights reserved. # #-$Id$ # #-$Date$ # # # VERY IMPORTANT: # NO target-config-dependent things go in in Makefile directly. # ALL target-config-dependent things go in config.mk, below. # # # # include config.mk here to define: # # CC - C compiler # CONFIG←CPPFLAGS # CONFIG←CFLAGS # # ASPP - assembler preprocessor (CPP) # CONFIG←ASPPFLAGS # # AS - assembler # CONFIG←ASFLAGS # # LDR - loader for reloadable modules # CONFIG←LDRFLAGS # # LD - loader # CONFIG←LDFLAGS # # INCLUDE -- search path for header files # include ../config/config.mk # # locations of object files # INSTALL←LIB = ../lib INSTALL←BIN = ../bin # # compilation flags, etc. # CPPFLAGS = $(INCLUDE) $(CONFIG←CPPFLAGS) \ -DPCR←NO←RENAME -DPCR←NO←HOSTDEP←ERR CFLAGS =-c $(CONFIG←CFLAGS) ASPPFLAGS = $(INCLUDE) $(CONFIG←ASPPFLAGS) \ -DPCR←NO←RENAME -DPCR←NO←HOSTDEP←ERR -DASM ASFLAGS = $(CONFIG←ASFLAGS) LDRFLAGS = $(CONFIG←LDRFLAGS) LDFLAGS = $(CONFIG←LDFLAGS) # # standard commands and default rules # INSTALL = cp -p .s.o: $(ASPP) $(ASPPFLAGS) $< > tmp.s ; $(AS) $(ASFLAGS) tmp.s -o $@ ; \ rm -f tmp.s .c.o: $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ # # # # # BEGIN PACKAGE-SPECIFIC PART # # # # # # Default target # default: th.o # # SOURCE FILE DEFINITION # # define CSRC SSRC MISCSRC HDEFS MISCDEFS. # # define MAKEDEP←MISCSRC = commands to make MISCSRC dependencies # (dependencies for .c and .s files are done automatically). # CSRC = PCR←ThImpl.c PCR←ThPvtImpl.c PCR←ThCrSecImpl.c \ PCR←ThCtlImpl.c PCR←ThCurrImpl.c PCR←ThDataImpl.c PCR←ThDynEnvImpl.c \ PCR←ThSpecificImpl.c PCR←ThTimoImpl.c \ PCR←ThUWProtImpl.c SSRC = PCR←ThAsm.s MISCSRC = SRC = $(CSRC) $(SSRC) $(MISCSRC) MAKEDEP←MISCSRC = HDEFS = PCR←Th.h PCR←ThGlue.h PCR←ThPvt.h PCR←ThTypes.h \ PCR←ThCrSec.h PCR←ThCurr.h \ PCR←ThCtl.h PCR←ThCtlTypes.h \ PCR←ThData.h PCR←ThDataGlue.h \ PCR←ThDynEnv.h \ PCR←ThSpecific.h \ PCR←ThTimoPvt.h \ PCR←ThUWProt.h MISCDEFS = DEFS = $(HDEFS) $(MISCDEFS) # # # INSTALL DEFINITION # # define INSTALL←LIBFILES = targets to be copied into INSTALL←LIB # define INSTALL←BINFILES = targets to be copied into INSTALL←BIN # INSTALL←BINFILES = INSTALL←LIBFILES = th.o # # package-specific definitions and rules # COBJ = PCR←ThImpl.o PCR←ThPvtImpl.o PCR←ThCrSecImpl.o \ PCR←ThCtlImpl.o PCR←ThCurrImpl.o PCR←ThDataImpl.o PCR←ThDynEnvImpl.o \ PCR←ThSpecificImpl.o PCR←ThTimoImpl.o \ PCR←ThUWProtImpl.o SOBJ = PCR←ThAsm.o MISCOBJ = th.o: $(COBJ) $(SOBJ) $(LDR) $(LDRFLAGS) -o th.o $(COBJ) $(SOBJ) # # # # # END PACKAGE-SPECIFIC PART # # # # # # # STANDARD TARGETS # # # # make install # install: $(INSTALL←LIBFILES) $(INSTALL←BINFILES) -if [ -n "$(INSTALL←LIBFILES)" ] ; then \ ( cd $(INSTALL←LIB) ; rm -f $(INSTALL←LIBFILES) ) ; \ $(INSTALL) $(INSTALL←LIBFILES) $(INSTALL←LIB) ; \ fi -if [ -n "$(INSTALL←BINFILES)" ] ; then \ ( cd $(INSTALL←BIN) ; rm -f $(INSTALL←BINFILES) ) ; \ $(INSTALL) $(INSTALL←BINFILES) $(INSTALL←BIN) ; \ fi # # make clean # clean: rm -f *.o *~ core a.out *.a *.BAK *.bak *.CKP logmsg.txt # # make depend # # NOTE: the makefile must include "# DO NOT DELETE THIS LINE" # and at least one additional line of text after the last target. # "make depend" will replace everything following that line # by a newly-constructed list of dependencies. # # You can modify the behavior of this target by defining $(MAKEDEP←MISCSRC). # makedep: $(CSRC) $(SSRC) $(MISCSRC) rm -f makedep $(MAKEDEP←MISCSRC) -for x in $(CSRC) END ; \ do if [ $$x != END ]; then \ $(CPP) -M $(CPPFLAGS) $$x \ | sed -e '/:$$/d' >> makedep ; \ fi ; \ done -for x in $(SSRC) END ; \ do if [ $$x != END ]; then \ $(ASPP) -M $(ASPPFLAGS) $$x \ | sed -e '/:$$/d' \ | sed -e 's/[.]s[.]o :/.o :/g' >> makedep ; \ fi ; \ done depend: makedep echo '/↑# DO NOT DELETE THIS LINE/,$$c' > eddep echo '# DO NOT DELETE THIS LINE' >> eddep echo '# Make depend depends on it' >> eddep echo '.' >> eddep echo '$$r makedep' >> eddep echo 'w' >> eddep rm -f Makefile.bak mv Makefile Makefile.bak cp Makefile.bak Makefile chmod u+w Makefile ex - Makefile < eddep -if [ ! -w Makefile.bak ] ; then chmod u-w Makefile ; fi rm -f eddep makedep # # # END OF HUMAN-EDITABLE PART # # # #-$Log$ # # # DO NOT DELETE THIS LINE # Make depend depends on it PCR←ThImpl.o : PCR←ThImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../base/PCR←Base.h \ ../base/PCR←BaseArgs.h /import/gnu/lib/gcc-include/stdarg.h \ ../th/PCR←ThData.h ../sig/PCR←SigTypes.h ../config/PCR←OS.h \ ../th/PCR←ThDataGlue.h ../th/PCR←Th.h ../sig/PCR←Sig.h ../th/PCR←ThTypes.h \ ../th/PCR←ThCtl.h ../th/PCR←ThCtlTypes.h ../posix/limits.h \ ../posix/host/limits.h ../th/PCR←ThPvt.h ../posix/setjmp.h \ ../th/PCR←ThGlue.h ../th/PCR←ThCurr.h ../th/PCR←ThCrSec.h \ ../th/PCR←ThCrSecInlines.h ../th/PCR←ThUWProt.h ../sig/PCR←SigGlue.h \ ../mm/PCR←MM.h ../posix/stddef.h ../posix/host/stddef.h ../posix/errno.h \ ../host/errno.h /usr/include/sys/errno.h ../posix/sys/types.h \ ../posix/host/sys/types.h /usr/include/sys/stdtypes.h \ /usr/include/sys/sysmacros.h ../posix/signal.h PCR←ThPvtImpl.o : PCR←ThPvtImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../config/PCR←OS.h \ ../base/PCR←Base.h ../base/PCR←BaseArgs.h \ /import/gnu/lib/gcc-include/stdarg.h ../th/PCR←Th.h ../sig/PCR←Sig.h \ ../sig/PCR←SigTypes.h ../th/PCR←ThTypes.h ../th/PCR←ThCtl.h \ ../th/PCR←ThCtlTypes.h ../posix/limits.h ../posix/host/limits.h \ ../th/PCR←ThPvt.h ../th/PCR←ThData.h ../posix/setjmp.h ../th/PCR←ThGlue.h \ ../th/PCR←ThCurr.h ../th/PCR←ThCrSec.h ../th/PCR←ThCrSecInlines.h \ ../mm/PCR←MM.h ../posix/stddef.h ../posix/host/stddef.h ../vd/PCR←VD.h \ ../sig/PCR←SigGlue.h ../host/signal.h /usr/include/sys/signal.h \ /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ../posix/errno.h \ ../host/errno.h /usr/include/sys/errno.h PCR←ThCrSecImpl.o : PCR←ThCrSecImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../base/PCR←Base.h \ ../base/PCR←BaseArgs.h /import/gnu/lib/gcc-include/stdarg.h \ ../th/PCR←ThData.h ../sig/PCR←SigTypes.h ../config/PCR←OS.h ../th/PCR←Th.h \ ../sig/PCR←Sig.h ../th/PCR←ThTypes.h ../th/PCR←ThPvt.h ../th/PCR←ThCtl.h \ ../th/PCR←ThCtlTypes.h ../posix/limits.h ../posix/host/limits.h \ ../posix/setjmp.h ../th/PCR←ThCurr.h ../th/PCR←ThCrSec.h \ ../th/PCR←ThCrSecInlines.h PCR←ThCtlImpl.o : PCR←ThCtlImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../th/PCR←Th.h \ ../sig/PCR←Sig.h ../config/PCR←OS.h ../sig/PCR←SigTypes.h \ ../th/PCR←ThTypes.h ../th/PCR←ThCtl.h ../th/PCR←ThCtlTypes.h \ ../posix/limits.h ../posix/host/limits.h ../th/PCR←ThPvt.h \ ../th/PCR←ThData.h ../posix/setjmp.h ../th/PCR←ThGlue.h ../th/PCR←ThCurr.h \ ../th/PCR←ThCrSec.h ../th/PCR←ThCrSecInlines.h ../mm/PCR←MM.h \ ../posix/stddef.h ../posix/host/stddef.h ../base/PCR←Base.h \ ../base/PCR←BaseArgs.h /import/gnu/lib/gcc-include/stdarg.h \ ../posix/errno.h ../host/errno.h /usr/include/sys/errno.h ../ansi/stdlib.h \ ../posix/host/stdlib.h /usr/include/sys/stdtypes.h PCR←ThCurrImpl.o : PCR←ThCurrImpl.c ../config/PCR←Arch.h ../base/PCR←Base.h \ ../config/PCR←StdTypes.h ../base/PCR←BaseArgs.h \ /import/gnu/lib/gcc-include/stdarg.h ../th/PCR←ThCurr.h ../th/PCR←ThTypes.h \ ../sig/PCR←SigTypes.h ../config/PCR←OS.h ../th/PCR←ThPvt.h \ ../th/PCR←ThData.h ../th/PCR←ThCtl.h ../th/PCR←ThCtlTypes.h \ ../posix/limits.h ../posix/host/limits.h ../posix/setjmp.h ../mm/PCR←MM.h \ ../posix/stddef.h ../posix/host/stddef.h PCR←ThDataImpl.o : PCR←ThDataImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../th/PCR←ThData.h \ ../sig/PCR←SigTypes.h ../config/PCR←OS.h PCR←ThDynEnvImpl.o : PCR←ThDynEnvImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../th/PCR←Th.h \ ../sig/PCR←Sig.h ../config/PCR←OS.h ../sig/PCR←SigTypes.h \ ../th/PCR←ThTypes.h ../th/PCR←ThData.h ../th/PCR←ThDynEnv.h \ ../base/PCR←Base.h ../base/PCR←BaseArgs.h \ /import/gnu/lib/gcc-include/stdarg.h ../posix/errno.h ../host/errno.h \ /usr/include/sys/errno.h PCR←ThSpecificImpl.o : PCR←ThSpecificImpl.c ../th/PCR←Th.h \ ../config/PCR←Arch.h ../config/PCR←StdDefs.h ../config/PCR←StdTypes.h \ ../sig/PCR←Sig.h ../config/PCR←OS.h ../sig/PCR←SigTypes.h \ ../th/PCR←ThTypes.h ../th/PCR←ThData.h ../th/PCR←ThDataGlue.h \ ../th/PCR←ThSpecific.h ../posix/errno.h ../host/errno.h \ /usr/include/sys/errno.h PCR←ThTimoImpl.o : PCR←ThTimoImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../th/PCR←Th.h \ ../sig/PCR←Sig.h ../config/PCR←OS.h ../sig/PCR←SigTypes.h \ ../th/PCR←ThTypes.h ../th/PCR←ThPvt.h ../th/PCR←ThData.h ../th/PCR←ThCtl.h \ ../th/PCR←ThCtlTypes.h ../posix/limits.h ../posix/host/limits.h \ ../posix/setjmp.h ../th/PCR←ThCrSec.h ../th/PCR←ThCrSecInlines.h \ ../th/PCR←ThCurr.h ../th/PCR←ThTimoPvt.h ../th/PCR←ThGlue.h \ ../sig/PCR←SigGlue.h ../posix/errno.h ../host/errno.h \ /usr/include/sys/errno.h PCR←ThUWProtImpl.o : PCR←ThUWProtImpl.c ../config/PCR←StdDefs.h \ ../config/PCR←StdTypes.h ../config/PCR←Arch.h ../base/PCR←Base.h \ ../base/PCR←BaseArgs.h /import/gnu/lib/gcc-include/stdarg.h \ ../th/PCR←ThData.h ../sig/PCR←SigTypes.h ../config/PCR←OS.h ../th/PCR←Th.h \ ../sig/PCR←Sig.h ../th/PCR←ThTypes.h ../th/PCR←ThPvt.h ../th/PCR←ThCtl.h \ ../th/PCR←ThCtlTypes.h ../posix/limits.h ../posix/host/limits.h \ ../posix/setjmp.h ../th/PCR←ThCrSec.h ../th/PCR←ThCrSecInlines.h \ ../th/PCR←ThCurr.h ../th/PCR←ThUWProt.h PCR←ThAsm.o : PCR←ThAsm.s ../config/PCR←Arch.h ../config/PCR←OS.h \ ../posix/host/sun4/trap.h