1#ifndef XCOMM 2#define XCOMM /**/# 3#endif 4XCOMM X-BASED RUBIK'S CUBE(tm) 5XCOMM 6XCOMM Imakefile 7XCOMM 8XCOMM ## 9XCOMM 10XCOMM Copyright (c) 1994 - 99 David Albert Bagley, bagleyd@tux.org 11XCOMM 12XCOMM All Rights Reserved 13XCOMM 14XCOMM Permission to use, copy, modify, and distribute this software and 15XCOMM its documentation for any purpose and without fee is hereby granted, 16XCOMM provided that the above copyright notice appear in all copies and 17XCOMM that both that copyright notice and this permission notice appear in 18XCOMM supporting documentation, and that the name of the author not be 19XCOMM used in advertising or publicity pertaining to distribution of the 20XCOMM software without specific, written prior permission. 21XCOMM 22XCOMM This program is distributed in the hope that it will be "playable", 23XCOMM but WITHOUT ANY WARRANTY; without even the implied warranty of 24XCOMM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 25XCOMM 26 27wIDGET = rubik 28WIDGET = Rubik 29WIDGET2 = $(WIDGET)2d 30WIDGET3 = $(WIDGET)3d 31VER = x$(WIDGET) 32DISTVER = $(VER)-5.5 33 34N= 35C=.c 36XCOMM C++ 37XCOMM C=.cc 38O=.o 39XCOMM VMS 40XCOMM O=.obj 41S=$(N) $(N) 42XCOMM VMS 43XCOMM S=, 44E= 45XCOMM VMS 46XCOMM E=.exe 47 48XCOMM please define 49XCOMM C as the C source code extension 50XCOMM O as the object extension 51XCOMM S as the separator for object code 52XCOMM E as the executable extension 53 54XCOMM CC = cc 55XCOMM CC = acc 56XCOMM CC = gcc -Wall 57XCOMM CC = g++ -Wall 58 59XCOMM *** BEGIN XM CONFIG SECTION *** 60 61XCOMM If your system has libXm (Motif), remove the 'XCOMM ' from the next line. 62XCOMM #define XmLibrary 63 64#ifdef XmLibrary 65XCOMM If its not with your X11 stuff you should set the following 66 MOTIFHOME = /usr/local 67XCOMM MOTIFHOME = /usr/dt 68 69XCOMM Below is a guess of the location of the Motif include directory. 70 XMINC = -I$(MOTIFHOME)/include 71 72XCOMM If you get an error "Connot find libXm" while linking, set XMLIBPATH 73XCOMM to the directory libXpm.* is in. Below is a guess. 74 XMLIB = -L$(MOTIFHOME)/lib -lXm 75XCOMM XMLIB = -lXm 76#endif 77 78XCOMM *** END XM CONFIG SECTION *** 79 80XCOMM *** BEGIN RNG CONFIG SECTION *** 81 82XCOMM Uncomment to use your system's Random Number Generator 83XCOMM They usually come in 3 types 84 85XCOMM Uncomment to use high-precision (but expensive) RNG 86XCOMM SRANDDEF = -DSRAND=srand48 87XCOMM LRANDDEF = -DLRAND=lrand48 88 89XCOMM SRANDDEF = -DSRAND=srandom 90XCOMM LRANDDEF = -DLRAND=random 91 92XCOMM Least desirable RNG 93XCOMM SRANDDEF = -DSRAND=srand 94XCOMM LRANDDEF = -DLRAND=rand 95 96XCOMM Normally use the above with (default) 97XCOMM MAXRANDDEF = -DMAXRAND=2147483648.0 98XCOMM Use the following if using srand/rand and NOT AIXV3 99XCOMM MAXRANDDEF = -DMAXRAND=32767.0 100RANDDEF = $(SRANDDEF) $(LRANDDEF) $(MAXRANDDEF) 101 102XCOMM *** END RNG CONFIG SECTION *** 103 104XCOMM Set your C compiler if necessary 105XCOMM CC = gcc -g -DDEBUG -Wall 106XCOMM CC = gcc -O 107 108SCOREFILE = ./$(wIDGET).scores 109DATAFILE = ./$(wIDGET).data 110 111DEFINES = -DHAVE_FCNTL_H=1 -DHAVE_UNISTD_H=1 \ 112-DSCOREFILE=\"$(SCOREFILE)\" -DDATAFILE=\"$(DATAFILE)\" \ 113$(XMINC) 114XWIDGETLIBS = $(XTOOLLIB) $(XLIB) 115# -lICE -lSM 116XMWIDGETLIBS = $(XMLIB) $(XWIDGETLIBS) 117# -lICE -lSM 118 119COREOBJS = $(WIDGET)$(O)$(S)$(WIDGET2)$(O)$(S)$(WIDGET3)$(O)$(S)\ 120$(WIDGET)S$(O)$(S)$(WIDGET)U$(O)$(S)rngs$(O) 121XWIDGETOBJS = $(COREOBJS)$(S)x$(wIDGET)$(O) 122XMWIDGETOBJS = $(COREOBJS)$(S)xm$(wIDGET)$(O) 123 124CORESRCS = $(WIDGET)$(C) $(WIDGET2)$(C) $(WIDGET3)$(C) \ 125$(WIDGET)S$(C) $(WIDGET)U$(C) rngs$(C) 126XWIDGETSRCS = $(CORESRCS) x$(wIDGET)$(C) 127XMWIDGETSRCS = $(CORESRCS) xm$(wIDGET)$(C) 128 129AllTarget(x$(wIDGET)$(E)) 130NormalProgramTarget(x$(wIDGET)$(E), $(XWIDGETOBJS), $(DEPXLIB), $(XWIDGETLIBS), NullParameter) 131#ifdef XmLibrary 132AllTarget(xm$(wIDGET)$(E)) 133NormalProgramTarget(xm$(wIDGET)$(E), $(XMWIDGETOBJS), $(DEPXLIB), $(XMWIDGETLIBS), NullParameter) 134#else 135clean:: 136 $(RM) xm$(wIDGET)$(E) 137 138#endif 139 140$(WIDGET)$(O) : $(WIDGET)$(C) $(WIDGET)P.h $(WIDGET).h 141$(WIDGET2)$(O) : $(WIDGET2)$(C) $(WIDGET)P.h $(WIDGET).h $(WIDGET2)P.h $(WIDGET2).h 142$(WIDGET3)$(O) : $(WIDGET3)$(C) $(WIDGET)P.h $(WIDGET).h $(WIDGET3)P.h $(WIDGET3).h 143$(WIDGET)S$(O) : $(WIDGET)S$(C) $(WIDGET)P.h $(WIDGET).h 144$(WIDGET)U$(O) : $(WIDGET)U$(C) $(WIDGET)P.h $(WIDGET).h 145rngs$(O) : rngs$(C) 146x$(wIDGET)$(O) : x$(wIDGET)$(C) $(WIDGET).h 147xm$(wIDGET)$(O) : xm$(wIDGET)$(C) $(WIDGET).h 148 149distclean:: clean 150 $(RM) Makefile config.status config.cache config.log 151 152clean.all:: distclean 153