1# 2# installation directories. DIR contains the main interactive plan program, 3# SBIN contains netplan, and LIB contains everything else (pland, notifier, 4# plan.help, PostScript skeletons). If you change any of these, remove util.o. 5# INCDIR is for searching nonstandard include directories, eg. "-I/usr/X11R5". 6# ALWAYS TERMINATE macro assignments with #. DO NOT put a blank between the 7# path and the #, or you'll get compile errors. DO NOT put blanks before and 8# after "=", this is parsed and rewritten by the configure script. 9# 10# # user-callable executable (plan) 11DIR=${PREFIX}/bin 12# # auxiliary programs (pland, notifier, PS) 13LIB=${DATADIR} 14# # help file (plan.help) 15SBIN=${PREFIX}/bin 16# # system programs (netplan) 17HELP=${DOCSDIR} 18# # netplan expects netplan.dir/ here 19NETPLANDIR=${DATADIR} 20# # unformatted nroff manpage (plan.[14]) 21MAN=${MANPREFIX}/man/man 22# # formatted manpage (plan.[14]) 23CATMAN=${MANPREFIX}/man/cat 24# # subdirectory in home dir, or empty 25PLANRULE= 26# # lockfile for plan, %d is uid 27PLANLOCK="/tmp/.plan%d" 28# # lockfile for pland, %d is uid 29PLANDLOCK="/tmp/.pland%d" 30# # extra cc options, e.g. "-I/var/include" 31INCDIR= 32# # standard Unix lexer 33LEX=lex 34# # standard Unix compiler generator 35YACC=yacc 36# # numerical user ID of <nobody> account 37NOB_UID=65534 38# # default numerical group ID of <nobody> 39NOB_GID=65534 40# # used by plan to pre-process holiday files, 41# # plan will check if this file really exists 42CPP_PATH='/lib/cpp -P -I$(HELP)' 43# # by default, fork on startup? TRUE or FALSE 44DOFORK=TRUE 45# # switching to ISO8859-1 46ESCTOISOLATIN=\"\\033\(B\" 47# # switching to JIS X0201-1976 roman 48ESCTOJISLATIN=\"\\033\(J\" 49# # uncomment this for Japanese version of plan 50# # JAPAN requires X11R5 and a Japanese env. 51JAPANDEFS='-DJAPAN -DESCTOASCII=$(ESCTOJISLATIN) -DLENTOASCII=3 -DLOCALE_SJIS=ja_JP.SJIS -DLOCALE_EUC=ja_JP.EUC' 52.if defined(JAPANESE) 53JAPAN=-DJAPAN -DESCTOASCII=$(ESCTOJISLATIN) -DLENTOASCII=3 \ 54 -DLOCALE_SJIS=\"ja_JP.SJIS\" -DLOCALE_EUC=\"ja_JP.EUC\" 55.else 56JAPAN= 57.endif 58# # default holiday locale 59HOLIDAY=german 60# # do NOT define -O2 on DEC OSF/1 machines! 61# # use -O instead of -O2 on HP and Solaris 62DEBUG=${CFLAGS} 63# # what to do without make arguments 64DEFTARGET=linux 65#------------------------- end of configuration section ---------------------- 66 67OPT=$(DEBUG) $(PLANRULE) -DPLANLOCK=\"$(PLANLOCK)\" -DPLANDLOCK=\"$(PLANDLOCK)\" 68 69DESTDIR= 70 71# 72# compiler flags. Add these to *_C macro as needed: 73# 74# -DDESKTOP for SGIs running IRIX 5.2, desktop look&feel, 4Dwm only 75# -DBSD use setpgrp(0, 0) and new wait(); also for OSF systems 76# -DSUN for SunOS 4.1.x systems 77# -DIBM for IBM AIX systems, includes sys/lockf.h 78# -DULTRIX for Ultrix 4.3/Motif 1.1.3 systems, different font 79# -DPID_T=long for IBM/AIX systems and other systems with pids>30000 80# -DFIXMBAR use if pulldowns in the menu bar are empty (HP/UX 8.x) 81# -DNOMSEP remove all XmVaSEPARATORs in pulldowns (some HP/UX's) 82# -DNOREGEX if you don't have regcmp() and regex() 83# -DNOLIMIT if there is no /usr/include/limits.h 84# -DNOKILL0 if kill(pid,0) works (sends no signal, pid check only) 85# -DFLOCK use flock instead of lockf 86# -DNOLOCK use if lockf() and flock() are both undefined 87# -DUSERAND use rand/srand instead of random/srandom 88# -DBACKING for window backing store if supported (untested) 89# -DRABBITS daemon survives logout (if there is no utmp/getpwnam) 90# -DDESTROYBUG fixes Linux XtDestroyWidget bug that kills plan when a 91# Done button is used. WARNING: introduces a memory leak 92# -DSTDLIBMALLOC do not include <malloc.h>, use <stdlib.h> instead, 93# (FreeBSD) 94# 95# Note for HP systems: if you have the PROG-AUX option, remove -DNOREGEX 96# from HP_C, and add -lPW to HP_L1. On Suns, try removing -DNOREGEX (and 97# adding -lPW if necessary) to get regular expression searches. If you have 98# problems with HP/UX and missing pulldowns, try adding/removing -DFIXMBAR. 99# Sun users using Solaris 2.1 and gcc may have to add -DNOMSEP for pulldowns, 100# and -DNOLOCK if "deadlock avoided" messages appear. There is at least one 101# IBM that will compile plan only with -DNOLOCK if -DIBM is removed. 102# Don't use a renamed copy of this Makefile, it uses itself recursively. 103# If your linker can't find libraries such as libXm.a, setenv LD_LIBRARY_PATH. 104# SGI is compiled with -32 because IRIX 6.2 doesn't install -n32 Motif libs 105# by default, and the cvd debugger works better with -32 too. 106# 107 108SGI4_C = 109SGI5_C = -DSYSV -DSVR4 -DDESKTOP 110SGI6_C = -n32 -mips3 -woff 1167 -DSYSV -DSVR4 -DDESKTOP -D_BSD_SIGNALS 111HP8_C = -Aa -I/usr/include/Motif1.1 -I/usr/include/X11R4 -I/usr/include\ 112 -D_INCLUDE_HPUX_SOURCE -D_INCLUDE_POSIX_SOURCE\ 113 -D_INCLUDE_XOPEN_SOURCE -DNOREGEX -DFIXMBAR -DRABBITS 114HP9_C = -Aa -I/usr/include/Motif1.2 -I/usr/include/X11R5 -I/usr/include\ 115 -D_HPUX_SOURCE -DRABBITS -DNOMSEP -DNOREGEX -DUSERAND 116HP_C = -Ae -I/usr/include/Motif1.2_R6 -I/usr/include/X11R6 -I/usr/include\ 117 -D_HPUX_SOURCE -DRABBITS 118HPG_C = -ansi -I/usr/include/Motif1.2 -I/usr/include/X11R5 -DHPGCC\ 119 -DRABBITS -DNOMSEP -DNOREGEX -DUSERAND 120IBM_C = -O -I/usr/include/X11 -D_ALL_SOURCE -DIBM -DAIXV3 -DNOMSEP -DRABBITS 121PS2_C = -O -I/usr/include/X11 -D_POSIX_SOURCE\ 122 -DIBM -D_XOPEN_SOURCE -D_ANSI_C_SOURCE -DNOMSEP -DNOLOCK 123OSF_C = -DNOREGEX -DBSD -DOSF -DRABBITS -DNOMSEP -DFLOCK 124SUN_C = -DSUN -DRABBITS -DNOMSEP 125SUNG_C = -DSUN -DRABBITS -DNOMSEP -ansi -I/usr/5include -I/usr/include/X11\ 126 -DNOREGEX 127SPARC_C = -DSUN -DRABBITS -DNOMSEP -ansi -I/usr/5include -I/usr/include/X11\ 128 -DNOREGEX -Dsparc 129SOL_C = -DSUN -DSOLARIS2 -DNOMSEP -I/usr/local/X11R5/include\ 130 -I/usr/local/X11R5/include/X11 -I/usr/ucbinclude 131SOLG_C = -DSUN -DSOLARIS2 -DNOMSEP -DUSERAND -I/usr/openwin/include\ 132 -I/usr/dt/include -L/usr/dt/lib 133ULTRIX_C= -DNOLOCK -DULTRIX -DRABBITS -DNOMSEP 134CDC_C = -DUSERAND 135MIPS_C = -DMIPS -systype sysv -Wf,-XNd4000 -DPID_T="int" -DMIPS\ 136 -I/usr/include/bsd 137DG_C = 138SNI_C = -DSYSV -DNOREGEX -DUSERAND 139ISC_C = -DSYSV -DNOREGEX -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_SYSV3 140NCR_C = -DNCR -DNOMSEP -DRABBITS 141USL_C = -DNOKILL0 -I/usr/X/include 142BSDI_C = -DBSD -DRABBITS -I/usr/X11/include -DFLOCK -DNOREGEX -Dbsdi 143BSDIG_C = -DBSD -DRABBITS -I/usr/X11/include -DFLOCK -DNOREGEX -Dbsdi -ansi 144NBSD_C = -ansi -I/usr/X11R6/include -DBSD -DRABBITS -DNOLOCK -DNOREGEX\ 145 -DNO_MOTIF 146FBSD_C = -ansi -I$(LOCALBASE)/include -DBSD -DNOLOCK -DNOREGEX -DRABBITS\ 147 -DSTDLIBMALLOC 148OBSD_C = -ansi -I/usr/X11R6/include -DBSD -DRABBITS -DNOLOCK -DNOREGEX\ 149 -DNO_MOTIF -DSTDLIBMALLOC 150LINUX_C = -W -Wall -m32 -I/usr/X11R6/include -DNOLOCK -DLINUX -Dlinux 151LINUX64_C = -W -Wall -m64 -I/usr/X11R6/include -DNOLOCK -DLINUX -Dlinux 152SVR4_C = -DSVR4 -DSYSV -DOLDTZ -DUSERAND -DPID_T=long -DNOMSEP 153NEWS_C = -DNEWSOS4 -DNOMSEP -DSUN -DBSD -DRABBITS -DNGROUPS_MAX=16\ 154 -DPID_T="int" -Dconst="" 155NEWSG_C = -DNEWSOS4 -DNOMSEP -DSUN -DBSD -DRABBITS -DNGROUPS_MAX=16\ 156 -DPID_T="int" 157NEWS6_C = -DNOMSEP -DSVR4 -DRABBITS -DNOREGEX 158NEWS6G_C= -DNOMSEP -DSVR4 -DRABBITS -DNOREGEX 159SQNT2_C = -I/usr/include -DUSERAND -DBACKING -DSYSV -D_NO_PROTO -DUSG 160SQNT4_C = -I/usr/include -DBACKING -DUSERAND -DSETREUID 161CONV_C = -Dconvex -DBSD -DRABBITS -I/usr/X11/include -DNOLOCK -DNOREGEX -Dbsdi 162UW_C = -I/usr/X/include -DOLDTZ -DUSERAND \ 163 -DSVR4 -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_XOPEN_SOURCE 164APOL_C = -I/usr/include/X11R5 -I/usr/include\ 165 -D_APOLLO_SOURCE -DRABBITS -DNOMSEP -DNOREGEX -DUSERAND -DNOLOCK 166OS2_C = -Zmt -Wimplicit -Wno-unused -I$(X11ROOT)/XFree86/include -DNOMSEP \ 167 -DNOLOCK 168LYNX_C = -DNOREGEX -D__NO_INCLUDE_WARN__ -DBSD -mthreads 169MACOSX_C= -W -Wall -I/usr/X11R6/include -I/usr/OpenMotif/include -DNOLOCK -DMACOSX -DNOREGEX 170 171 172# 173# loader flags. Requires X11, Xt, and Motif libraries. PW is for regcmp/regex. 174# 175 176SGI_L1 = -lXm_s -lXt_s -lXmu -lX11_s -lPW -lsun 177SGI_L2 = -lsun -lc_s 178SGI5_L1 = -lXm -lXt -lX11 -lPW 179SGI5_L2 = -lc 180SGI6_L1 = -lXm -lXt -lX11 -lPW 181SGI6_L2 = -L/usr/local/lib -lc 182HP8_L1 = -L/usr/lib/X11R4 -L/usr/lib/Motif1.1 -lXm -lXt -lX11 -lc 183HP8_L2 = 184HP9_L1 = -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -lXm -lXt -lX11 -lc 185HP9_L2 = 186HP_L1 = -L/usr/lib/X11R6 -L/usr/lib/Motif1.2_R6 -lXm -lXt -lX11 -lc -lPW 187HP_L2 = -lXm -lXt -lX11 -lc -lPW 188IBM_L1 = -lXm -lXt -lX11 -lPW 189IBM_L2 = 190PS2_L1 = -lXm -lXt -lX11 -lPW 191PS2_L2 = 192OSF_L1 = -lXm -lXt -lX11 193OSF_L2 = 194SUN_L1 = -lXm -lXt -lX11 195SUN_L2 = -lc 196SUNG_L1 = -L/usr/5lib -lXm -lXt -lX11 197SUNG_L2 = -L/usr/5lib -lc 198SPARC_L1= -L/usr/5lib -lXm -lXt -lX11 -lm 199SPARC_L2= -L/usr/5lib -lc 200SOL_L1 = -L$(OPENWINHOME)/lib -L$(MOTIFHOME)/lib -lXm -lXt -lX11 -lelf -lgen -lsocket -lnsl 201SOL_L2 = -lc -lsocket -lnsl 202SOLG_L1 = -L$(OPENWINHOME)/lib -L$(MOTIFHOME)/lib -lXm -lXt -lX11 -lelf -lgen -lsocket -lnsl 203SOLG_L2 = -lc -lsocket -lnsl 204ULTRIX_L1= -lXm -lXt -lX11 205ULTRIX_L2= 206CDC_L1 = -lXm -lXt -lX11 -lgen -lnsl -lsocket 207CDC_L2 = -lgen -lnsl -lsocket 208MIPS_L1 = -lXm -lXt -lX11 -lbsd -lsun -lc -lPW 209#MIPS_L1= -L/usr/X11/lib -lXm -lXt -lX11 -lbsd -lc -lPW 210MIPS_L2 = 211DG_L1 = -lXm -lXt -lX11 -lPW 212DG_L2 = 213SNI_L1 = -lXm -lXt -lX11 -lsocket -lnsl -lXmu -lXext -lgen 214SNI_L2 = -lsocket -lnsl 215ISC_L1 = -lXm -lXt -lX11 -lXmu -linet -lnsl_s 216ISC_L2 = 217NCR_L1 = -lXm -lXt -lX11 -lXext -lnsl -lgen 218NCR_L2 = -lgen 219USL_L1 = -B static -lXm -B dynamic -lXaw -lXext -lXmu -lXt -lX11 -lm -lnsl -lgen 220USL_L1m = -lXm -lXaw -lXext -lXmu -lXt -lX11 -lm -lnsl -lgen 221USL_L2 = -lc 222BSDI_L1 = -lXm -lXt -lX11 223BSDI_L2 = -lc 224BSDIG_L1= -L/usr/X11/lib -lXm -lXt -lX11 225BSDIG_L2= -L/usr/X11/lib -lc 226NBSD_L1 = -L/usr/X11R6/lib -lXm -lXt -lX11 227NBSD_L2 = -L/usr/X11R6/lib -lc 228FBSD_L1 = -L$(LOCALBASE)/lib ${MOTIFLIB} -lXt -lSM -lICE -lX11 -lXext 229FBSD_L2 = 230OBSD_L1 = -L$(LOCALBASE)/lib ${MOTIFLIB} -lXt -lSM -lICE -lX11 -lXext 231OBSD_L2 = 232LINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lXm -lXt -lX11 -lXpm -lc -lXext -lICE -lX11 233LINUX_L2= -lc 234SLINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lSM /usr/X11R6/lib/libXm.a -lXt -lX11 /usr/X11R6/lib/libXpm.a -lc -lXext -lSM -lICE -lX11 235SLINUX_L2= -lc 236SVR4_L1 = -lXm -lXt -lX11 -lgen -lsocket -lnsl 237SVR4_LK2= 238NEWS_L1 = -lXm -lXt -lX11 -lXlc 239NEWS_L2 = 240NEWS6_L1= -lXm -lXt -lX11 -lsocket -lnsl 241NEWS6_L2= -lsocket -lnsl 242SQNT2_L1= -Xo -lXm -lXaw -lXmu -lXt -lXext -lX11 -lm -lPW -leli -linet -lnsl -lseq 243SQNT2_L2= 244SQNT4_L1= -lXm -lXaw -lXmu -lXt -lXext -lX11 -lm -lPW 245SQNT4_L2= -lsocket -lnsl -lseq 246CONV_L1 = -lXm -lXt -lX11 247CONV_L2 = -lc 248UW_L1 = -lXm -lXt -lX11 -lgen -lnsl 249UW_L2 = -lgen 250APOL_L1 = -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -lXm -lXt -lX11 -lc 251APOL_L2 = 252OS2_L1 = -s -Zexe -Zmtd -L$(X11ROOT)/XFree86/lib -lXm -lXt -lX11 -lsocket -lbsd -lregexp -Zsysv-signals 253OS2_L2 = -s -Zexe -Zmtd -lsocket -lbsd -Zsysv-signals 254LYNX_L1 = -mthreads -lXm_s -lXt_s -lSM -lICE -lXpm -lXext -lXmu -lX11_s -lbsd 255LYNX_L2 = -mthreads -lbsd 256MACOSX_L1= -L/usr/X11R6/lib -L/usr/OpenMotif/lib -lSM -lXm -lXt -lX11 -lXpm -lc -lXext -lSM -lICE -lX11 257MACOSX_L2= -lc 258 259 260start: $(DEFTARGET) 261 262#--------------------------------------------------------------- 263# to add another system here, define XXX_C, XXX_L1, and XXX_L2 by picking 264# available options from the list at the top of this Makefile, add an echo 265# here, and add a target in the next section. Please mail patches to me. 266 267help: 268 @echo "Usage:" 269 @echo " make sgi4 4.x SGI systems" 270 @echo " make sgi5 5.x SGI systems, desktop look&feel, 4Dwm only" 271 @echo " make sgi 6.x SGI systems, desktop look&feel, 4Dwm only" 272 @echo " make hp8 HP/UX 8 with X11R4 and Motif 1.1.5" 273 @echo " make hp9 HP/UX 9 with X11R5 and Motif 1.2" 274 @echo " make hp HP/UX 10/11 with X11R5 and Motif 1.2" 275 @echo " make hpg HP/UX 10/11 with X11R5, Motif 1.2, gcc" 276 @echo " make ibm IBM RS6000 running AIX" 277 @echo " make ps2 IBM PS/2 Model 8577, AIX 1.3 with mpp level 0013 patches, gcc" 278 @echo " make osf DEC running OSF/1" 279 @echo " make sun Sun with Motif (won't work with OpenLook)" 280 @echo " make sung Sun 4.1.3/Solaris 2.2 with Motif, using gcc" 281 @echo " make sparc Sun 4.1.3 on SUN 4C, gcc, adds -Dsparc option" 282 @echo " make sol Solaris 2.5 with Motif, using cc" 283 @echo " make solg Solaris 2.5 with Motif, using gcc" 284 @echo " make ultrix Ultrix 4.3 with Motif 1.1.3" 285 @echo " make cdc CDC/Mips running EP/IX 2.1.1" 286 @echo " make mips Mips Magnum RISCos 4.52 with RISCwindows 4.0" 287 @echo " make dg Data General DG/UX, with gcc" 288 @echo " make sni SNI SINIX 5.41" 289 @echo " make isc SunSoft Interactive Unix v4.0" 290 @echo " make ncr NCR 3000 systems" 291 @echo " make usl USL SVR4.2 V1 with mdev package" 292 @echo " make uslm ...same with Motif run-time libraries" 293 @echo " make linux Linux with Motif" 294 @echo " make slinux Linux with statically linked Motif" 295 @echo " make bsdi BSDI/386" 296 @echo " make bsdig BSDI/386 with gcc" 297 @echo " make netbsd NetBSD/i386 1.0A (maybe others too)" 298 @echo " make freebsd FreeBSD" 299 @echo " make openbsd OpenBSD" 300 @echo " make svr4 SVR4 Using gcc" 301 @echo " make news4 Sony NEWS-OS4.x" 302 @echo " make news4g Sony NEWS-OS4.x with gcc" 303 @echo " make news6 Sony NEWS-OS6.x" 304 @echo " make news6g Sony NEWS-OS6.x with gcc" 305 @echo " make sqnt2 Sequent Dynix/ptx 2.0 or 2.1, using cc" 306 @echo " make sqnt4 Sequent Dynix/ptx 4.0 or 4.1, using cc" 307 @echo " make convex Convex C220 running BSD, gcc" 308 @echo " make uw UnixWare 1.1 and 2.0" 309 @echo " make apollo HP/Apollo DomainOS" 310 @echo " make os2 OS/2, XFree86" 311 @echo " make lynx LynxOS mag 2.5.1 092297-D i386" 312 @echo " make macosx MacOS X with OpenMotif 2.1 (www.ist-inc.com)" 313 @echo "" 314 @echo " make install install compiled programs in" 315 @echo " $(DIR), $(SBIN), and $(LIB)." 316 @echo " make clean remove everything in this dir except sources" 317 @echo "" 318 @echo "If you have problems, first read this Makefile. You may also" 319 @echo "want to change the installation directory if you are not root." 320 @echo "The installation directory is set at the top of this Makefile." 321 @echo "For a Japanese version, edit the JAPAN line in the Makefile." 322 323 324#--------------------------------------------------------------- 325 326sgi: sgi6 327 328sgi4: 329 env CF="$(SGI4_C)" L1F="$(SGI_L1)" L2F="$(SGI_L2)" MYCC=cc make all 330 331sgi5: 332 env CF="$(SGI5_C)" L1F="$(SGI5_L1)" L2F="$(SGI5_L2)" MYCC=cc make all 333 334sgi6: 335 env CF="$(SGI6_C)" L1F="$(SGI6_L1)" L2F="$(SGI6_L2)" MYCC=cc make all 336 337sgi6g: 338 env CF="$(SGI6_C)" L1F="$(SGI6_L1)" L2F="$(SGI6_L2)" MYCC=gcc make all 339 340hp8: 341 env CF="$(HP8_C)" L1F="$(HP8_L1)" L2F="$(HP8_L2)" MYCC=cc make all 342 343hp9: 344 env CF="$(HP9_C)" L1F="$(HP9_L1)" L2F="$(HP9_L2)" MYCC=cc make all 345 346hp: 347 env CF="$(HP_C)" L1F="$(HP_L1)" L2F="$(HP_L2)" MYCC=cc make all 348 349hpg: 350 bison -y -d parser.y 351 -mv y.tab.c parser.c 352 env CF="$(HPG_C)" L1F="$(HP_L1)" L2F="$(HP_L2)" MYCC=gcc make all 353 354ibm: 355 env CF="$(IBM_C)" L1F="$(IBM_L1)" L2F="$(IBM_L2)" MYCC=cc make all 356 357ps2: 358 env CF="$(PS2_C)" L1F="$(PS2_L1)" L2F="$(PS2_L2)" MYCC=gcc make all 359 360osf: 361 env CF="$(OSF_C)" L1F="$(OSF_L1)" L2F="$(OSF_L2)" MYCC=cc make all 362 363sun: 364 env CF="$(SUN_C)" L1F="$(SUN_L1)" L2F="$(SUN_L2)" MYCC=acc make all 365 366sung: 367 env CF="$(SUNG_C)" L1F="$(SUNG_L1)" L2F="$(SUNG_L2)" MYCC=gcc make all 368 369sung-netplan: 370 env CF="$(SUNG_C)" L1F="$(SUNG_L1)" L2F="$(SUNG_L2)" MYCC=gcc make netplan 371 372sparc: 373 env CF="$(SPARC_C)" L1F="$(SPARC_L1)" L2F="$(SPARC_L2)" MYCC=gcc \ 374 make NOB_UID=65534 NOB_GID=65534 all 375 376sol: 377 env CF="$(SOL_C)" L1F="$(SOL_L1)" L2F="$(SOL_L2)" MYCC=cc make all 378 379solg: 380 env CF="$(SOLG_C)" L1F="$(SOLG_L1)" L2F="$(SOLG_L2)" MYCC="LD_RUN_PATH=/usr/dt/lib gcc" make all 381 382ultrix: 383 env CF="$(ULTRIX_C)" L1F="$(ULTRIX_L1)" L2F="$(ULTRIX_L2)" MYCC=cc make all 384 385cdc: 386 env CF="$(CDC_C)" L1F="$(CDC_L1)" L2F="$(CDC_L2)" MYCC=cc make all 387 388mips: 389 env CF="$(MIPS_C)" L1F="$(MIPS_L1)" L2F="$(MIPS_L2)" MYCC=cc make all 390 391dg: 392 env CF="$(DG_C)" L1F="$(DG_L1)" L2F="$(DG_L2)" MYCC=gcc make all 393 394sni: 395 env CF="$(SNI_C)" L1F="$(SNI_L1)" L2F="$(SNI_L2)" MYCC=cc make all 396 397isc: 398 env CF="$(ISC_C)" L1F="$(ISC_L1)" L2F="$(ISC_L2)" MYCC=gcc make all 399 400ncr: 401 env CF="$(NCR_C)" L1F="$(NCR_L1)" L2F="$(NCR_L2)" MYCC=cc make all 402 403usl: 404 env CF="$(USL_C)" L1F="$(USL_L1)" L2F="$(USL_L2)" MYCC=cc make all 405 406uslm: 407 env CF="$(USL_C)" L1F="$(USL_L1m)" L2F="$(USL_L2)" MYCC=cc make all 408 409bsdi: 410 env CF="$(BSDI_C)" L1F="$(BSDI_L1)" L2F="$(BSDI_L2)" MYCC=acc make all 411 412bsdig: 413 env CF="$(BSDIG_C)" L1F="$(BSDIG_L1)" L2F="$(BSDIG_L2)" MYCC=gcc make all 414 415netbsd: 416 env CF="$(NBSD_C)" L1F="$(NBSD_L1)" L2F="$(NBSD_L2)" MYCC=gcc $(MAKE) all 417 418freebsd: 419 env CF="$(FBSD_C)" L1F="$(FBSD_L1)" L2F="$(FBSD_L2)" MYCC=${CC} make all 420 421openbsd: 422 env CF="$(OBSD_C)" L1F="$(OBSD_L1)" L2F="$(OBSD_L2)" MYCC=${CC} make all 423 424svr4: 425 env CF="$(SVR4_C)" L1F="$(SVR4_L1)" L2F="$(SVR4_L2)" MYCC=gcc make all 426 427linux: 428 -env CF="$(LINUX_C)" L1F="$(LINUX_L1)" L2F="$(LINUX_L2)" MYCC=gcc make all 429 @echo -------------------- 430 @echo 'NOTE: if compilation failed with "cannot find -lXt", try "make clean; make linux64"' 431 432linux64: 433 env CF="$(LINUX64_C)" L1F="$(LINUX_L1)" L2F="$(LINUX_L2)" MYCC=gcc make all 434 435slinux: 436 env CF="$(LINUX_C)" L1F="$(SLINUX_L1)" L2F="$(SLINUX_L2)" MYCC=gcc make all 437 438news4: 439 make CF="$(NEWS_C)" L1F="$(NEWS_L1)" L2F="$(NEWS_L2)" MYCC=cc all 440 441news4g: 442 make CF="$(NEWSG_C)" L1F="$(NEWS_L1)" L2F="$(NEWS_L2)" MYCC=gcc all 443 444news6: 445 env CF="$(NEWS6_C)" L1F="$(NEWS6_L1)" L2F="$(NEWS6_L2)" MYCC=/usr/bin/cc make all 446 447news6g: 448 env CF="$(NEWS6G_C)" L1F="$(NEWS6_L1)" L2F="$(NEWS6_L2)" MYCC=gcc make all 449 450sqnt2: 451 env CF="$(SQNT2_C)" L1F="$(SQNT2_L1)" L2F="$(SQNT2_L2)" MYCC=cc make all 452 453sqnt4: 454 env CF="$(SQNT4_C)" L1F="$(SQNT4_L1)" L2F="$(SQNT4_L2)" MYCC=cc make all 455 456convex: 457 env CF="$(CONV_C)" L1F="$(CONV_L1)" L2F="$(CONV_L2)" MYCC=gcc make all 458 459uw: 460 env CF="$(UW_C)" L1F="$(UW_L1)" L2F="$(UW_L2)" MYCC=cc make all 461 462apollo: 463 env CF="$(APOL_C)" L1F="$(APOL_L1)" L2F="$(APOL_L2)" MYCC=cc make all 464 465os2: 466 make all CF="$(OS2_C)" L1F="$(OS2_L1)" L2F="$(OS2_L2)" MYCC=gcc 467 468lynx: 469 make CF="$(LYNX_C)" L1F="$(LYNX_L1)" L2F="$(LYNX_L2)" MYCC=gcc \ 470 LEX="flex -l" YACC="bison -y" all 471 472macosx: 473 env CF="$(MACOSX_C)" L1F="$(MACOSX_L1)" L2F="$(MACOSX_L2)" MYCC=gcc make all 474 475#------------------------------ don't change anything below ------------------ 476 477INC = bm_blank.h bm_except.h bm_icon.h bm_iconsub.h bm_checker.h\ 478 bm_private.h bm_message.h bm_noticon.h bm_recycle.h bm_script.h\ 479 bm_circle.h bm_chkcircle.h bm_tri.h bm_todo.h cal.h config.h proto.h\ 480 notifier.h version.h resources.h grok.h form.h 481 482P_SRC = main.c popup.c print.c gotomenu.c network.c\ 483 calmenu.c monmenu.c mondraw.c editmenu.c editdraw.c edit.c\ 484 msgmenu.c cycmenu.c cyccalc.c keymenu.c excmenu.c\ 485 cnfmenu.c yearmenu.c yeardraw.c holmenu.c adjmenu.c\ 486 weekmenu.c weekdraw.c weekcalc.c servmenu.c usermenu.c confmenu.c\ 487 yovmenu.c yovdraw.c yovcalc.c daymenu.c daydraw.c daycalc.c\ 488 usersel.c psdraw.c xutil.c help.c dbase.c file_r.c file_w.c\ 489 convert.c util.c time.c sublist.c parser.y parser.lex holiday.c\ 490 language.c g_dbase.c g_dbfile.c g_formfile.c g_formop.c \ 491 vcalendar_r.c vcalendar_w.c 492 493P_OBJ = main.o popup.o print.o gotomenu.o network.o\ 494 calmenu.o monmenu.o mondraw.o editmenu.o editdraw.o edit.o\ 495 msgmenu.o cycmenu.o cyccalc.o keymenu.o excmenu.o\ 496 cnfmenu.o yearmenu.o yeardraw.o holmenu.o adjmenu.o\ 497 weekmenu.o weekdraw.o weekcalc.o servmenu.o usermenu.o confmenu.o\ 498 yovmenu.o yovdraw.o yovcalc.o daymenu.o daydraw.o daycalc.o\ 499 usersel.o psdraw.o xutil.o help.o dbase.o file_r.o file_w.o\ 500 convert.o util.o time.o sublist.o parser.o lex.yy.o holiday.o\ 501 language.o g_dbase.o g_dbfile.o g_formfile.o g_formop.o \ 502 vcalendar_r.o vcalendar_w.o 503 504D_SRC = daemon.c dbase.c file_r.c util.c time.c cyccalc.c network.c\ 505 convert.c language.c g_dbase.c g_dbfile.c g_formfile.c g_formop.c\ 506 vcalendar_r.c 507D_OBJ = daemon.o dbase.o file_r.o util.o time.o cyccalc.o network.o\ 508 convert.o language.o g_dbase.o g_dbfile.o g_formfile.o g_formop.o\ 509 vcalendar_r.o 510 511N_SRC = notifier.c notmenu.c 512N_OBJ = notifier.o notmenu.o 513 514S_SRC = netplan.c netplan_acl.c 515S_OBJ = netplan.o netplan_acl.o 516S_INC = netplan.h netplan_if.h 517 518CCLINE = $(MYCC) $(OPT) $(CF) $(JAPAN) $(INCDIR) 519 520#--------------------------------------------------------------- 521all: plan pland notifier netplan 522 523plan: $(P_OBJ) 524 $(CCLINE) -o plan $(P_OBJ) $(L1F) 525 526pland: $(D_OBJ) 527 $(CCLINE) -o pland $(D_OBJ) $(L2F) 528 529notifier: $(N_OBJ) 530 $(CCLINE) -o notifier $(N_OBJ) $(L1F) 531 532netplan: $(S_OBJ) $(MAKEFILE) 533 $(CCLINE) -o netplan $(S_OBJ) \ 534 -L/usr/local/lib $(L2F) 535 536.c.o: 537 $(CCLINE) -c $< 538 539print.o: print.c $(MAKEFILE) 540 $(CCLINE) -c -DLIB=\"$(LIB)\" $< 541 542network.o: network.c netplan_if.h $(MAKEFILE) 543 $(CCLINE) -c -DLIB=\"$(LIB)\" $< 544 545usermenu.o: usermenu.c $(MAKEFILE) 546 $(CCLINE) -c -DLIB=\"$(LIB)\" $< 547 548holiday.o: holiday.c $(MAKEFILE) 549 $(CCLINE) -DCPP_PATH=\"$(CPP_PATH)\" -c -DLIB=\"$(DOCS)\" $< 550 551util.o: util.c $(MAKEFILE) 552 $(CCLINE) -c -DPATH=\"$(LIB):$(DIR):$(HELP)\" $< 553 554netplan.o: netplan.c netplan_if.h $(MAKEFILE) 555 $(CCLINE) -DNOBODY_UID=$(NOB_UID) -DNOBODY_GID=$(NOB_GID) -c -DLIB=\"$(NETPLANDIR)\" $< 556# $(MYCC) $(OPT) $(CF) -DNOBODY_UID=`grep nobody /etc/passwd | head -1 | awk -F: '{print $$3}'` -DNOBODY_GID=`grep nobody /etc/passwd | head -1 | awk -F: '{print $$4}'` $(INCDIR) -c -DLIB=\"$(NETPLAN)\" $< 557 558daemon.c: $(Makefile) 559 560parser.c: parser.y 561 $(YACC) -d parser.y 562 -mv y.tab.c parser.c 563 564lex.yy.o: lex.yy.c parser.c 565 $(CCLINE) -c lex.yy.c 566 567lex.yy.c: parser.lex 568 $(LEX) parser.lex 569 570$(P_OBJ): config.h cal.h proto.h 571$(D_OBJ): config.h proto.h 572$(N_OBJ): notifier.h 573$(S_OBJ): $(S_INC) 574main.o popup.o file_r.o file_w.o daemon.o notifier.o: version.h 575main.o: resources.h 576g_dbase.o g_dbfile.o g_formfile.o g_formop.o: grok.h form.h 577 578#--------------------------------------------------------------- 579install: 580 -rm -f $(DESTDIR)$(DIR)/pland $(DESTDIR)$(DIR)/notifier $(DESTDIR)$(LIB)/netplan 581 mkdir -p $(DESTDIR)$(DIR) 582 cp plan $(DESTDIR)$(DIR) 583 mkdir -p $(DESTDIR)$(LIB) 584 cp pland notifier ../misc/plan_cal.ps ../language/plan* $(DESTDIR)$(LIB) 585 mkdir -p $(DESTDIR)$(SBIN) 586 cp netplan $(DESTDIR)$(SBIN) 587 -(test x'$(JAPAN)' != x && cp ../misc/plan_calSJ.ps $(DESTDIR)$(LIB)) || exit 0 588 mkdir -p $(DESTDIR)$(HELP) 589 cp ../language/plan.help $(DESTDIR)$(HELP) 590 -strip $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(SBIN)/netplan 591 -chmod 755 $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(LIB)/netplan 592 -chmod 644 $(DESTDIR)$(HELP)/plan.help $(DESTDIR)$(LIB)/plan_cal.ps $(DESTDIR)$(LIB)/plan.lang.* 593 -(test x'$(JAPAN)' != x && chmod 644 $(DESTDIR)$(LIB)/plan_calSJ.ps) || exit 0 594 mkdir -p $(DESTDIR)$(NETPLANDIR)/netplan.dir 595 -chmod 700 $(DESTDIR)$(NETPLANDIR)/netplan.dir || exit 0 596 -(test x'$(CATMAN)' != xNONE -a -x "`which nroff`" && nroff -man ../misc/plan.1 >../misc/plan.1cat) || exit 0 597 -(test x'$(CATMAN)' != xNONE -a -x "`which nroff`" && nroff -man ../misc/plan.4 >../misc/plan.4cat) || exit 0 598 -(test x'$(CATMAN)' != xNONE -a -x "`which nroff`" && nroff -man ../misc/netplan.1 >../misc/netplan.1cat) || exit 0 599 -(test x'$(MAN)' != xNONE -a -d $(DESTDIR)$(MAN)1 && cp ../misc/plan.1 $(DESTDIR)$(MAN)1/plan.1) || exit 0 600 -(test x'$(MAN)' != xNONE -a -d $(DESTDIR)$(MAN)4 && cp ../misc/plan.4 $(DESTDIR)$(MAN)4/plan.4) || exit 0 601 -(test x'$(MAN)' != xNONE -a -d $(DESTDIR)$(MAN)1 && cp ../misc/netplan.1 $(DESTDIR)$(MAN)1/netplan.1) || exit 0 602 -(test x'$(CATMAN)' != xNONE -a -d $(DESTDIR)$(CATMAN)1 && cp ../misc/plan.1cat $(DESTDIR)$(CATMAN)1/plan.1) || exit 0 603 -(test x'$(CATMAN)' != xNONE -a -d $(DESTDIR)$(CATMAN)4 && cp ../misc/plan.4cat $(DESTDIR)$(CATMAN)4/plan.4) || exit 0 604 -(test x'$(CATMAN)' != xNONE -a -d $(DESTDIR)$(CATMAN)1 && cp ../misc/netplan.1cat $(DESTDIR)$(CATMAN)1/netplan.1) || exit 0 605 -(test -f ${HOME}/.holiday || cp ../holiday/holiday_$(HOLIDAY) ${HOME}/.holiday) || exit 0 606 -(test `uname` = IRIX -o `uname` = IRIX64 && mkdir $$HOME/.icons) || exit 0 607 -(test `uname` = IRIX -o `uname` = IRIX64 && cp ../misc/Plan.icon $$HOME/.icons/Plan.icon) || exit 0 608 @echo "" 609 @echo "use ../holiday/* as templates for your ~/.holiday file" 610 611clean: 612 -rm -f *.o 613 -rm -f y.tab.h y.tab.c parser.c lex.yy.c 614 -rm -f y.output core plan pland notifier netplan tags 615 616#--------------------------------------------------------------- 617# for my own use, for making releases etc. 618 619VERSION = `egrep define.VERSION version.h | sed 's/"$$//;s/.*"//;s/[V ]//g'` 620SVERSION= `egrep define.VERSION src/version.h | sed 's/"$$//;s/.*"//;s/[V ]//g'` 621LIST = README HISTORY plan.spec holiday/* language/* misc/* src/resources.h.bigfonts web/* 622SRC = Makefile $(P_SRC) daemon.c $(N_SRC) $(S_SRC) $(INC) $(S_INC) configure 623 624LDIR = $(LOCALBASE)/lib 625BINDIR = plan-$(VERSION) 626gMYCC = gcc 627gCF = -m32 -I$(LOCALBASE)/include -D_POSIX_SOURCE -DNOLOCK -DLINUX -Dlinux 628gL1F = -L$(LDIR) $(LDIR)/libXm.a -lXt -lX11 $(LDIR)/libXpm.a -lc -lXext -lICE -lXp -lX11 629gL2F = -lc 630 631linuxtar: $(P_OBJ) $(D_OBJ) $(N_OBJ) $(S_OBJ) $(MAKEFILE) README.linuxbin 632 -rm -rf $(BINDIR) 633 mkdir $(BINDIR) $(BINDIR)/src 634 cp README.linuxbin $(BINDIR) 635 $(gMYCC) $(OPT) $(gCF) $(JAPAN) $(INCDIR) -o $(BINDIR)/src/plan $(P_OBJ) $(gL1F) 636 $(gMYCC) $(OPT) $(gCF) $(JAPAN) $(INCDIR) -o $(BINDIR)/src/pland $(D_OBJ) $(gL2F) 637 $(gMYCC) $(OPT) $(gCF) $(JAPAN) $(INCDIR) -o $(BINDIR)/src/notifier $(N_OBJ) $(gL1F) 638 $(gMYCC) $(OPT) $(gCF) $(JAPAN) $(INCDIR) -o $(BINDIR)/src/netplan $(S_OBJ) -L/usr/local/lib $(gL2F) 639 tar czvf ../plan-$(VERSION).linuxbin.tar.gz $(BINDIR) 640 rm -rf $(BINDIR) 641 642tar: 643 mv Makefile Makefile.save 644 cp Makefile.orig Makefile 645 cd ..; rm -rf plan-$(SVERSION).tar.gz plan-$(SVERSION) 646 cd ..; mkdir plan-$(SVERSION) 647 cd ..; tar chf - $(LIST) `echo " $(SRC)" | sed 's= = src/=g'` | (cd plan-$(SVERSION); tar xvf -) 648 cd ..; tar zhcvf plan-$(SVERSION).tar.gz plan-$(SVERSION) 649 cd ..; rm -rf plan-$(SVERSION) 650 mv Makefile.save Makefile 651 652rpm: tar 653 cd ..; rpmbuild -vv -ba plan-1.10-20070416.spec 654