define(`concat',$1$2$3$4$5$6$7$8$9) changequote([,]) # os - one of: # "bsd" - bsd 4.2, bsd 4.3, ultrix 1.1, acis 4.2,4.3 other # "standard" bsd systems without nfs # "ultrix12" - Ultrix 1.2 # "ultrix20" - Ultrix 2.0 or greater # "hpux" - HP/UX # "aux" - A/UX # "pyr" - pyramid (in BSD universe) # "sunos" - SunOS # "next" - NeXT/MACH # Warning: hpux, pyr are hardcoded in some of the makefiles (sorry) # MAJOR CONFIGURATION # set to one of the above (or configure your own below) define([os],[bsd]) define([encapsdir],[iptalk]) # System call configuration (not for system v compatibilty) # known: X_GETOPT, X_VPRINTF, X_GETMNT, X_STATFS, X_QUOTA, # X_SUNQUOTA, X_FLOCK, X_LOCKF, X_FCNTLLOCKF # getopt - "cap: argument processing" define([X_GETOPT],1) # getmnt - "aufs: info on file systems (dec)" # define([X_GETMNT],1) # statfs - "aufs: info on file systems (sun nfs)" define([X_STATFS],1) # quota - "aufs: info on user quota" # define([X_QUOTA],1) # getmntent - "aufs: used by sunquota" define([X_SUNQUOTA],1) # flock - "afp: file locking" define([X_FLOCK],1) # lockf - "afp: byte range locking using unistd.h" # define([X_LOCKF],1) # lockf - "afp: byte range locking using fcntl.h" # define([X_FCNTLLOCKF],1) # vfprintf - "cap: variable arg fprintf" # define([X_VPRINTF],1) # recvmsg - "cap: lib: scatter gather recv" # define([X_NORECVMSG],1) # sendmsg - "cap: lib: scatter gather send" # define([X_NOSENDMSG],1) # ffs - "cap: lib: ffs - find first set bit" # define([X_NOFFS],1) # GETOPT support ifdef([X_GETOPT],[],[define([needgetopt],[att_getopt.o])]) # VPRINTF support ifdef([X_VPRINTF],[define([usevprintf], 1)],[]) # Path to cap sources: useful for testing define([cwd],[/afs/athena.mit.edu/astaff/project/macathena/CAP/cap60/build/vax_bsd43]) # turn on if your system sends packets very quickly (see # applications/aufs/INSTALLATION) # define([fastether],1) # For papif and samples # uncomment if your param.h includes types.h and types.h doesn't # prevent itself from being included twice # define _TYPES # define([selfdefinetypes],1) # MINOR CONFIGURATION: configure various programs #define([columbia],1) # so columbia can do things quickly #define([debug],1) # testing things (without disrupting) # location of include files define([includedir],[[/mit/cap/cap60/src]]) # location of des subroutine source (see lib/afp/README) define([desloc],[[../../extras]]) # location of atalk.local, etc. define([etcdest],[[/etc]]) ifdef([columbia],[define([etcdest],[[/usr/local/lib/cap]])]) # location of user cap programs define([capdestdir],[[/mit/cap/bin]]) # location of cap "server" programs define([caplibdestdir],[[/mit/cap/bin]]) # location of cap libraries define([libdestdir],[[/mit/cap/lib]]) # override for aux (doesn't search /usr/local/lib) ifelse(os,[aux],[define([libdestdir],[[/usr/lib]])]) # cap library names define([caplib],[[libcap.a]]) define([afplib],[[libafp.a]]) define([afpclib],[[libafpc.a]]) # names to load cap libraries with define([libcap],[[-lcap]]) define([libafp],[[-lafp]]) define([libafpc],[[-lafpc]]) # any special libraries define([libspecial],[-lkrb -ldes]) # Aufs: see applications/aufs/INSTALLATION # WARNING: OS DEPENDENT #define([smartunixfinderinfo],1) # valid here are -DNONXLATE, -DFULL_NCS_SUPPORT # or GGTYPE="gid_t" # Others: USESTATFS, USEGETMNT, USECHOWN, USEQUOTA, USESUNQUOTA are # autoconfigured define([aufsosdefs],[]) #lwsrv: see applications/lwsrv/README # Valid is: -DADOBE_DSC2_CONFORMANT define([simpleflags],[]) #papif: see applications/papif/README # uncomment and set to right location to turn on printing "plain text files" # define([pstextloc],[[\"/usr/local/lib/ps/pstext\"]]) # uncomment and set to right location to turn on page reversal # define([psrevloc],[[\"/usr/local/lib/ps/psrev\"]]) # valid are: # -DVERBOSELOG - default (set =0 to turn off) # -DNO_STRUCT - default is on (structured) # -DNOACCT - default is on (accounting) # -DIDLESTUFF - default is off # -DSFLOWQ - default is 8 (min 1, max 8) # -DRFLOWQ - default is 8 (min 1, max 8) # -DATPRESPONSETIMEOUT - default is 120 (2 minutes) - in seconds # -DWATCHTIME - default is 10 seconds (in seconds) # -DDEBUG - default is off # -DSTRIPCONTROLD - default is off # -DMAPCRTOLF - default is off # see papif README file for explanations of the above # The following defines are recommended for System V lp model printers # (vs. bsd lpd) # -DWATCHTIME=0 (no status) -DNOACCT define([papflags],[-DIDLESTUFF]) # Set -DBANNERFIRST if you want the banner page to come out as the # first page instead of the last page # Set -DBANNERLAST if want it last # add -DCHARGEBANNER if you want to charge the banner page to the user # on system V - there is no accounting, so leave blank define([papbanner],[-DCHARGEBANNER]) # for cap.printers - uncomment and change the following line to point # papif, et. al. to a location other than /etc/cap.printers. (Note: # line below would set it to $etcdir/cap.printers) # define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"])) ifdef([columbia], [define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))]) # for atalkdbm - allows change following line(s) to modify atalk.local # (probably shouldn't). Remember that atalk.local is expected to # be in etcdest define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"])) define([configdir],concat([\"],etcdest,[\"])) # in case you want to globally change the c compiler define([thecompiler],[cc]) define([theloader],[ld]) #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # END OF CONFIGABLE OPTIONS # #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # You should only edit past here if you are "porting" # Automatics define([osname], ifelse( os,[ultrix12],[Ultrix 1.2], os,[ultrix20],[Ultrix 2.0], os,[aux],[A/UX], os,[sunos],[SunOS], os,[hpux],[HP-UX (for 9000 series)], os,[bsd],[Standard BSD], os,[pyr],[Pyramid in BSD universe], os,[next],[NeXT/MACH], [Unknown])) define([cflags],ifdef([selfdefinetypes],[-O -D_TYPES],[-O])) define([bigcflags],ifelse(os,[hpux],[+Nd2000 +Ns2000])) # don't use the optimizer on the pyramid ( w/ the OSx4.4 compiler). ifelse(os,[pyr],[ define([cflags],ifdef([selfdefinetypes],[-D_TYPES -q ],[ -q]))]) ifelse(os,[next],[ define([cflags],concat(cflags,[ -DGNUCC]))]) # was used for nbp, but found we needed more... leave in case define([nbpflags],[]) define([lflags],[-L/mit/cap/lib]) define([mflags],[]) # aux's c compiler isn't nice - it doesn't have a preprocessor # definition for aux. So, let's invent one. Also turn on -n # for shared code. ifelse(os,[aux],[ define([cflags],concat(cflags,[ -n -Daux])) define([lflags],concat(lflags,[ -n])) ]) # check to see if we need sysvinstall usage ifelse( os,[aux],[define([sysvinstall],[yes])], os,[hpux],[define([sysvinstall],[yes])]) # for cap library # Valid are: # NOFFS - no ffs function defined, fake it out # LOCALTIME_GTOD - uses pd localtime, but gettimeofday always reads # disk based time of day. Always defined for AUX for now. Probably # needs to be changed for versions of Aux after 1.0 # NORECVMSG - no recvmsg in system (fake it out) # NOSENDMSG - no recvmsg in system (fake it out) # USELARGESOCKBUF - use a larger input buffer Needed for ultrix # so that atlook, etc. will work properly under ethertalk. define([caposdefs], concat( ifdef([X_NOFFS],[ -DNOFFS],[]), ifelse(os,[aux],[ -DLOCALTIME_GTOD],[]), ifdef([X_NORECVMSG], [ -DNORECVMSG],[]), ifdef([X_NOSENDMSG], [ -DNOSENDMSG],[]), ifelse(os,[ultrix12],[ -DUSELARGESOCKBUF],[]), ifelse(os,[ultrix20],[ -DUSELARGESOCKBUF],[]))) # for afp library # two cases for X_LOCKF - if lockf isn't defined # first: X_FCNTLLOCKF is defined, so just note that lockf uses fcntl.h # second: " " isn't defined so define no lockf define([afposdefs], concat( ifdef([X_FLOCK],[],[ -DNOFLOCK]), ifdef([X_LOCKF],[], [ifdef([X_FCNTLLOCKF],[-DLOCKFUSESFCNTL],[-DNOLOCKF])]))) # for aufs define([aufsosdefs], concat( aufsosdefs, ifdef([X_STATFS],[ -DUSESTATFS],[]), ifdef([X_GETMNT],[ -DUSEGETMNT],[]), ifdef([X_QUOTA],[ -DUSEQUOTA],[]), ifdef([X_SUNQUOTA],[ -DUSESUNQUOTA],[]))) # if no ranlib (or fakeout like hpux) and need to order libaries ifelse(os, [dummy], [define(uselordertsort,1)], os, [aux], [define(uselordertsort,1)]) # lw config define([lwflags],ifdef([fastether],[-DSFLOWQ=1],[])) #NBPFLAGS = nbpflags() #BIGCFLAGS = bigcflags() #CFLAGS = cflags() #LFLAGS = lflags() #AFPOSDEFS = afposdefs() #AUFSOSDEFS = aufsosdefs() ifdef([debug],[ # location of include files define([includedir],[cwd]) # location of des subroutine source (see lib/afp/README) define([desloc],[[../../extras]]) # location of atalk.local, etc. define([etcdest],concat(cwd,[[[/etc]]])) # location of user cap programs define([capdestdir],concat(cwd,[[[/bin]]])) # location of cap "server" programs define([caplibdestdir],concat(cwd,[[[/bin]]])) # location of cap libraries define([libdestdir],concat(cwd,[[[/lib]]])) # cap library names define([caplib],[[libcap.a]]) define([afplib],[[libafp.a]]) define([afpclib],[[libafpc.a]]) # names to load cap libraries with define([libcap],concat(cwd,[[[/lib/libcap.a]]])) define([libafp],concat(cwd,[[[/lib/libafp.a]]])) define([libafpc],concat(cwd,[[[/lib/libafpc.a]]])) define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"])) define([cflags],concat(cflags,[ -I],includedir)) define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"])) define([configdir],concat([\"],etcdest,[\"])) ]) define([datestring],maketemp(/tmp/capcXXXXXX)) syscmd(date > datestring()) ##########MARKER########## # Makefile autoconfigured for a: \ osname() system on include(datestring()) syscmd(rm datestring()) MFLAGS=mflags() LFLAGS=lflags() CC=thecompiler() LD=theloader() define([cflags],concat(cflags,[ -I],includedir))