# 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: # # CPP - C preprocessor # CONFIG_CPPFLAGS # # CC - C compiler # 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: config.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_StdDefsImpl.c SSRC = MISCSRC = SRC = $(CSRC) $(SSRC) $(MISCSRC) MAKEDEP_MISCSRC = HDEFS = PCR_Arch.h PCR_OS.h PCR_StdDefs.h PCR_StdTypes.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 = config.o # # package-specific definitions and rules # COBJ = PCR_StdDefsImpl.o SOBJ = MISCOBJ = config.o: $(COBJ) $(SOBJ) $(LDR) $(LDRFLAGS) -o config.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 pcr # # 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_StdDefsImpl.o : PCR_StdDefsImpl.c ../config/PCR_StdDefs.h \ ../config/PCR_StdTypes.h ../config/PCR_Arch.h ../config/PCR_OS.h