! MMS file for building Gopher Object Library !******************************************************************** ! wilkinson ! 2.2 ! 1994/08/10 15:20:00 ! [gopher2_0vms16.object]descrip.mms,v ! Exp ! ! Paul Lindner, University of Minnesota CIS. ! ! Copyright 1991, 1992 by the Regents of the University of Minnesota ! see the file "Copyright" in the distribution for conditions of use. !******************************************************************** ! MODULE: descrip.mms ! make description for VMS/MMS !********************************************************************* ! Revision History: ! descrip.mms,v ! Revision 2.2VMS 1995/05/26 11:30 wilkinson ! Revamp for 2.1VMS-3 ! ! Revision 2.2 1994/08/10 15:20:00 wilkinson ! Use symbols provided by @[-]make.common ! ! Revision 2.1 1994/07/29 15:48:50 wilkinson ! For 2.0VMS-16 ! ! Revision 1.1 1993/08/30 00:00:00 wilkinson ! Initial revision ! ! !********************************************************************/ ! ! Expected command line macros (MMS/MACRO=(...)) ! DEC_C or VAX_C - which compiler to use ! DEBUG or NODEBUG - compile/link debug/non-debug library ! CLIENT or SERVER - compile/link client/server library ! HARDWARE - select architecture-appropriate directories ! Expected DCL symbols ! macros - use $(macros) for /DEFINE=() on compilations ! exe - use $(EXE) for executables target directory ! lis - use $(LIS) for listings target directory ! obj - use $(OBJ) for objects target directory ! inc - use $(INC) for include file source directories .suffixes .suffixes : .olb .obj .c .h .IFDEF DEBUG CC_DBG = /debug/noopt .ELSE CC_DBG = /nodebug .ENDIF !============================================================================== ! The Gopher object file list GOPHER_OBJECT =- $(OBJ)compatible.obj,- $(OBJ)daarray.obj,- $(OBJ)gdgopherdir.obj,- $(OBJ)gsgopherobj.obj,- $(OBJ)strstring.obj,- $(OBJ)util.obj,- $(OBJ)blblock.obj,- $(OBJ)VIews.obj,- $(OBJ)Sockets.obj,- $(OBJ)Debug.obj,- $(OBJ)url.obj,- $(OBJ)fileio.obj,- $(OBJ)locale.obj,- $(OBJ)getopt.obj,- $(OBJ)regex.obj ! Build the Library $(OBJ)libgopher.olb : $(GOPHER_OBJECT) librarian/create $(OBJ)libgopher.olb/object $(GOPHER_OBJECT) .IFDEF DEBUG @ write sys$output "" .ENDIF .IFDEF SERVER @ write sys$output "SERVER Gopher Object Library Built!" .ENDIF .IFDEF CLIENT @ write sys$output "CLIENT Gopher Object Library Built!" .ENDIF !============================================================================== ! Nested Header Files abound in this application ! Some Header files have dependencies, too... indicates none !boolean.h : !compatible.h : !daarray.h : !dirent.h : !strstring.h : !util.h : STAARRAY_H = staarray.h,strstring.h,daarray.h BLBLOCK_H = blblock.h,$(STAARRAY_H),boolean.h,gsgopherobj.h DEBUG_H = debug.h,boolean.h STDLIB_H = stdlib.h, compatible.h FILEIO_H = fileio.h,strstring.h,boolean.h,$(STDLIB_H) LOCALE_H = locale.h,compatible.h MALLOC_H = malloc.h,$(STDLIB_H) REGEX_H = regex.h,$(MALLOC_H) STRING_H = string.h,compatible.h URL_H = url.h,strstring.h VIEWS_H = views.h,strstring.h,boolean.h,daarray.h WAIT_H = wait.h,$(STDLIB_H) .IFDEF SERVER GSGOPHEROBJ_H = $(VIEWS_H),$(URL_H),$(LOCALE_H),$(BLBLOCK_H),\ [-.gopherd]site.h .ELSE GSGOPHEROBJ_H = $(VIEWS_H),$(URL_H),$(LOCALE_H),$(BLBLOCK_H) .ENDIF GDGOPHERDIR_H = gdgopherdir.h,$(GSGOPHEROBJ_H) !============================================================================== ! A default compilation procedure .IFDEF DEC_C ! DECC/Alpha: .IFDEF UCX .c.obj cc/prefix=(all,except=(setlocale))/warning=(disable=implicitfunc)- /define=($(MACROS))$(CC_DBG)/object=$(OBJ)/list=$(LIS)/incl=($(INC)) $< .ELSE .c.obj cc/prefix=(all,except=(connect,gethostbyname,htons,inet_addr,setsockopt,- socket,setlocale))/warning=(disable=implicitfunc)- /define=($(MACROS))$(CC_DBG)/object=$(OBJ)/list=$(LIS)/incl=($(INC)) $< .ENDIF .ELSE ! VAXC: .c.obj cc/define=($(MACROS))$(CC_DBG)/object=$(OBJ)/list=$(LIS)/incl=($(INC)) $< .ENDIF !============================================================================== ! Define dependencies for all object files $(OBJ)compatible.obj : compatible.c,$(MALLOC_H),compatible.h,$(WAIT_H) $(OBJ)daarray.obj : daarray.c,$(MALLOC_H),daarray.h $(OBJ)gdgopherdir.obj : gdgopherdir.c,$(GDGOPHERDIR_H),$(MALLOC_H),util.h,\ $(STRING_H),$(FILEIO_H),$(DEBUG_H) .IFDEF SERVER $(OBJ)gsgopherobj.obj : gsgopherobj.c,[-.gopherd]gopherd.h,\ $(GSGOPHEROBJ_H),$(STRING_H),strstring.h,compatible.h,$(MALLOC_H),\ sockets.h,util.h,$(DEBUG_H),$(FILEIO_H) .ELSE $(OBJ)gsgopherobj.obj : gsgopherobj.c,\ $(GSGOPHEROBJ_H),$(STRING_H),strstring.h,compatible.h,$(MALLOC_H),\ sockets.h,util.h,$(DEBUG_H),$(FILEIO_H) .ENDIF $(OBJ)strstring.obj : strstring.c,strstring.h,$(STRING.H),$(MALLOC_H) $(OBJ)util.obj : util.c,$(string_h),boolean.h,util.h,$(DEBUG_H),$(FILEIO_H) $(OBJ)blblock.obj : blblock.c,$(STRING_H),$(BlBLOCK_H),$(MALLOC_H) $(OBJ)VIews.obj : VIews.c,$(VIEWS_H),$(MALLOC_H),$(STRING_H),$(BLBLOCK_H) $(OBJ)Sockets.obj : Sockets.c,boolean.h,compatible.h,$(DEBUG_H),sockets.h,\ $(MALLOC_H) $(OBJ)Debug.obj : Debug.c $(OBJ)url.obj : url.c,$(URL_H),$(GSGOPHEROBJ_H),$(MALLOC_H),$(STRING_H) $(OBJ)fileio.obj : fileio.c,$(FILEIO_H),$(MALLOC_H),$(DEBUG_H),$(WAIT_H),\ $(STRING_H),$(STDLIB_H) $(OBJ)locale.obj : locale.c,$(LOCALE_H),$(STDLIB_H),$(STRING_H),daarray.h,\ $(STRSTRING_H),$(GDGOPHERDIR_H),$(GSGOPHEROBJ_H),[-]conf.h $(OBJ)getopt.obj : getopt.c,$(STRING_H) $(OBJ)regex.obj : regex.c,$(REGEX_H) .