Artifact 4312909d0d6b6b7909685fc53478680d44c37962:


0000: 4f 43 41 4d 4c 43 20 3d 20 6f 63 61 6d 6c 63 0a  OCAMLC = ocamlc.
0010: 4f 43 41 4d 4c 4f 50 54 20 3d 20 6f 63 61 6d 6c  OCAMLOPT = ocaml
0020: 6f 70 74 0a 4f 43 41 4d 4c 46 49 4e 44 20 3d 20  opt.OCAMLFIND = 
0030: 6f 63 61 6d 6c 66 69 6e 64 0a 43 43 20 3d 20 67  ocamlfind.CC = g
0040: 63 63 0a 0a 42 41 53 45 5f 53 52 43 53 20 3d 20  cc..BASE_SRCS = 
0050: 63 6f 6d 6d 6f 6e 2e 6d 6c 20 75 74 69 6c 2e 6d  common.ml util.m
0060: 6c 20 62 43 6f 6e 66 69 67 2e 6d 6c 0a 53 52 43  l bConfig.ml.SRC
0070: 53 20 3d 20 24 28 42 41 53 45 5f 53 52 43 53 29  S = $(BASE_SRCS)
0080: 20 62 61 6e 74 61 6d 5f 2e 6d 6c 0a 23 42 41 53   bantam_.ml.#BAS
0090: 45 5f 42 59 54 45 5f 4f 42 4a 53 20 3d 20 24 28  E_BYTE_OBJS = $(
00a0: 42 41 53 45 5f 53 52 43 53 3a 2e 6d 6c 3d 2e 63  BASE_SRCS:.ml=.c
00b0: 6d 6f 29 0a 42 41 53 45 5f 42 59 54 45 5f 4f 42  mo).BASE_BYTE_OB
00c0: 4a 53 20 3d 20 70 72 65 66 73 2e 63 6d 6f 20 24  JS = prefs.cmo $
00d0: 28 42 41 53 45 5f 53 52 43 53 3a 2e 6d 6c 3d 2e  (BASE_SRCS:.ml=.
00e0: 63 6d 6f 29 0a 42 59 54 45 5f 4f 42 4a 53 20 3d  cmo).BYTE_OBJS =
00f0: 20 24 28 42 41 53 45 5f 42 59 54 45 5f 4f 42 4a   $(BASE_BYTE_OBJ
0100: 53 29 20 62 61 6e 74 61 6d 2e 63 6d 6f 0a 23 42  S) bantam.cmo.#B
0110: 59 54 45 5f 4f 42 4a 53 20 3d 20 70 72 65 66 73  YTE_OBJS = prefs
0120: 2e 63 6d 6f 20 24 28 42 41 53 45 5f 42 59 54 45  .cmo $(BASE_BYTE
0130: 5f 4f 42 4a 53 29 20 62 61 6e 74 61 6d 2e 63 6d  _OBJS) bantam.cm
0140: 6f 0a 23 4e 41 54 5f 4f 42 4a 53 20 3d 20 24 28  o.#NAT_OBJS = $(
0150: 42 41 53 45 5f 53 52 43 53 3a 2e 6d 6c 3d 2e 63  BASE_SRCS:.ml=.c
0160: 6d 78 29 20 62 61 6e 74 61 6d 2e 63 6d 78 0a 42  mx) bantam.cmx.B
0170: 41 53 45 5f 4e 41 54 5f 4f 42 4a 53 20 3d 20 70  ASE_NAT_OBJS = p
0180: 72 65 66 73 2e 63 6d 78 20 24 28 42 41 53 45 5f  refs.cmx $(BASE_
0190: 53 52 43 53 3a 2e 6d 6c 3d 2e 63 6d 78 29 0a 23  SRCS:.ml=.cmx).#
01a0: 4e 41 54 5f 4f 42 4a 53 20 3d 20 70 72 65 66 73  NAT_OBJS = prefs
01b0: 2e 63 6d 78 20 24 28 42 41 53 45 5f 53 52 43 53  .cmx $(BASE_SRCS
01c0: 3a 2e 6d 6c 3d 2e 63 6d 78 29 20 62 61 6e 74 61  :.ml=.cmx) banta
01d0: 6d 2e 63 6d 78 0a 4e 41 54 5f 4f 42 4a 53 20 3d  m.cmx.NAT_OBJS =
01e0: 20 24 28 42 41 53 45 5f 4e 41 54 5f 4f 42 4a 53   $(BASE_NAT_OBJS
01f0: 29 20 62 61 6e 74 61 6d 2e 63 6d 78 0a 44 45 50  ) bantam.cmx.DEP
0200: 53 20 3d 20 22 75 6e 69 78 20 73 74 72 20 6c 61  S = "unix str la
0210: 62 6c 67 74 6b 32 20 72 61 73 63 6c 22 0a 0a 4e  blgtk2 rascl"..N
0220: 45 57 5f 41 44 44 5f 57 41 54 43 48 20 3d 20 24  EW_ADD_WATCH = $
0230: 28 73 68 65 6c 6c 20 2e 2f 6e 65 77 5f 61 64 64  (shell ./new_add
0240: 5f 77 61 74 63 68 5f 74 65 73 74 2e 73 68 29 0a  _watch_test.sh).
0250: 69 66 65 71 20 28 24 28 73 74 72 69 70 20 24 28  ifeq ($(strip $(
0260: 4e 45 57 5f 41 44 44 5f 57 41 54 43 48 29 29 2c  NEW_ADD_WATCH)),
0270: 20 74 72 75 65 29 0a 09 49 4e 5f 43 4f 4e 44 20   true)..IN_COND 
0280: 3d 20 22 5b 5c 60 49 4e 5d 22 0a 09 48 55 50 5f  = "[\`IN]"..HUP_
0290: 43 4f 4e 44 20 3d 20 22 5b 5c 60 48 55 50 5d 22  COND = "[\`HUP]"
02a0: 0a 65 6c 73 65 0a 09 49 4e 5f 43 4f 4e 44 20 3d  .else..IN_COND =
02b0: 20 22 5c 60 49 4e 22 0a 09 48 55 50 5f 43 4f 4e   "\`IN"..HUP_CON
02c0: 44 20 3d 20 22 5c 60 48 55 50 22 0a 65 6e 64 69  D = "\`HUP".endi
02d0: 66 0a 0a 52 45 4c 49 45 46 20 3d 20 24 28 73 68  f..RELIEF = $(sh
02e0: 65 6c 6c 20 62 61 73 68 20 2d 63 20 27 5c 0a 09  ell bash -c '\..
02f0: 76 65 72 73 69 6f 6e 3d 60 6f 63 61 6d 6c 63 20  version=`ocamlc 
0300: 2d 76 65 72 73 69 6f 6e 60 3b 20 5c 0a 09 6d 61  -version`; \..ma
0310: 6a 6f 72 3d 24 24 7b 76 65 72 73 69 6f 6e 3a 30  jor=$${version:0
0320: 3a 34 7d 3b 20 5c 0a 09 6d 69 6e 6f 72 3d 24 24  :4}; \..minor=$$
0330: 7b 76 65 72 73 69 6f 6e 3a 35 7d 3b 20 5c 0a 09  {version:5}; \..
0340: 69 66 20 5b 20 24 24 6d 61 6a 6f 72 20 3d 20 22  if [ $$major = "
0350: 33 2e 30 38 22 20 5d 20 26 26 20 5b 20 24 24 6d  3.08" ] && [ $$m
0360: 69 6e 6f 72 20 5d 20 26 26 20 5b 20 24 24 6d 69  inor ] && [ $$mi
0370: 6e 6f 72 20 2d 67 65 20 33 20 5d 3b 20 74 68 65  nor -ge 3 ]; the
0380: 6e 20 5c 0a 09 09 65 63 68 6f 20 22 53 6f 6c 69  n \...echo "Soli
0390: 64 22 3b 20 5c 0a 09 65 6c 73 65 20 5c 0a 09 09  d"; \..else \...
03a0: 65 63 68 6f 20 22 46 6c 61 74 22 3b 20 5c 0a 09  echo "Flat"; \..
03b0: 66 69 27 20 29 0a 0a 2e 50 48 4f 4e 59 20 3a 20  fi' )...PHONY : 
03c0: 61 6c 6c 20 62 79 74 65 20 6f 70 74 20 69 6e 73  all byte opt ins
03d0: 74 61 6c 6c 20 63 6c 65 61 6e 0a 0a 61 6c 6c 20  tall clean..all 
03e0: 3a 20 24 28 44 45 46 41 55 4c 54 5f 54 41 52 47  : $(DEFAULT_TARG
03f0: 45 54 29 0a 0a 6f 70 74 20 3a 20 24 28 4e 41 54  ET)..opt : $(NAT
0400: 5f 4f 42 4a 53 29 20 75 73 6c 65 65 70 2e 6f 20  _OBJS) usleep.o 
0410: 62 61 6e 74 61 6d 2e 73 68 0a 09 24 28 4f 43 41  bantam.sh..$(OCA
0420: 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41 4d 4c 4f  MLFIND) $(OCAMLO
0430: 50 54 29 20 2d 70 61 63 6b 61 67 65 20 24 28 44  PT) -package $(D
0440: 45 50 53 29 20 2d 70 72 65 64 69 63 61 74 65 73  EPS) -predicates
0450: 20 69 6e 69 74 20 5c 0a 09 2d 6c 69 6e 6b 70 6b   init \..-linkpk
0460: 67 20 2d 6f 20 62 61 6e 74 61 6d 2e 62 69 6e 20  g -o bantam.bin 
0470: 75 73 6c 65 65 70 2e 6f 20 24 28 4e 41 54 5f 4f  usleep.o $(NAT_O
0480: 42 4a 53 29 0a 0a 62 79 74 65 20 3a 20 24 28 42  BJS)..byte : $(B
0490: 59 54 45 5f 4f 42 4a 53 29 20 75 73 6c 65 65 70  YTE_OBJS) usleep
04a0: 2e 6f 20 62 61 6e 74 61 6d 2e 73 68 0a 09 24 28  .o bantam.sh..$(
04b0: 4f 43 41 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41  OCAMLFIND) $(OCA
04c0: 4d 4c 43 29 20 2d 70 61 63 6b 61 67 65 20 24 28  MLC) -package $(
04d0: 44 45 50 53 29 20 2d 70 72 65 64 69 63 61 74 65  DEPS) -predicate
04e0: 73 20 69 6e 69 74 20 5c 0a 09 2d 6c 69 6e 6b 70  s init \..-linkp
04f0: 6b 67 20 2d 63 75 73 74 6f 6d 20 2d 6f 20 62 61  kg -custom -o ba
0500: 6e 74 61 6d 2e 62 69 6e 20 75 73 6c 65 65 70 2e  ntam.bin usleep.
0510: 6f 20 24 28 42 59 54 45 5f 4f 42 4a 53 29 0a 0a  o $(BYTE_OBJS)..
0520: 62 61 6e 74 61 6d 2e 73 68 20 3a 20 62 61 6e 74  bantam.sh : bant
0530: 61 6d 2e 73 68 2e 30 20 62 61 6e 74 61 6d 2e 73  am.sh.0 bantam.s
0540: 68 2e 32 0a 09 2d 72 6d 20 2d 66 20 62 61 6e 74  h.2..-rm -f bant
0550: 61 6d 2e 73 68 0a 09 63 61 74 20 62 61 6e 74 61  am.sh..cat banta
0560: 6d 2e 73 68 2e 30 20 3e 3e 20 62 61 6e 74 61 6d  m.sh.0 >> bantam
0570: 2e 73 68 0a 09 65 63 68 6f 20 22 20 20 20 20 42  .sh..echo "    B
0580: 41 4e 54 41 4d 5f 48 4f 4d 45 3d 24 28 42 41 4e  ANTAM_HOME=$(BAN
0590: 54 41 4d 5f 48 4f 4d 45 29 22 20 3e 3e 20 62 61  TAM_HOME)" >> ba
05a0: 6e 74 61 6d 2e 73 68 0a 09 63 61 74 20 62 61 6e  ntam.sh..cat ban
05b0: 74 61 6d 2e 73 68 2e 32 20 3e 3e 20 62 61 6e 74  tam.sh.2 >> bant
05c0: 61 6d 2e 73 68 0a 0a 75 73 6c 65 65 70 2e 6f 20  am.sh..usleep.o 
05d0: 3a 20 75 73 6c 65 65 70 2e 63 0a 09 24 28 43 43  : usleep.c..$(CC
05e0: 29 20 2d 49 60 6f 63 61 6d 6c 63 20 2d 77 68 65  ) -I`ocamlc -whe
05f0: 72 65 60 20 2d 63 20 75 73 6c 65 65 70 2e 63 0a  re` -c usleep.c.
0600: 0a 70 72 65 66 73 2e 63 6d 6f 20 3a 20 70 72 65  .prefs.cmo : pre
0610: 66 73 2e 6d 6c 20 0a 09 24 28 4f 43 41 4d 4c 46  fs.ml ..$(OCAMLF
0620: 49 4e 44 29 20 24 28 4f 43 41 4d 4c 43 29 20 2d  IND) $(OCAMLC) -
0630: 70 61 63 6b 61 67 65 20 72 61 73 63 6c 20 2d 70  package rascl -p
0640: 70 20 5c 0a 09 27 63 61 6d 6c 70 34 6f 20 2d 49  p \..'camlp4o -I
0650: 20 60 6f 63 61 6d 6c 66 69 6e 64 20 71 75 65 72   `ocamlfind quer
0660: 79 20 72 61 73 63 6c 60 20 70 61 5f 65 78 74 65  y rascl` pa_exte
0670: 6e 64 2e 63 6d 6f 20 71 5f 4d 4c 61 73 74 2e 63  nd.cmo q_MLast.c
0680: 6d 6f 20 5c 0a 09 70 61 5f 72 61 73 63 6c 2e 63  mo \..pa_rascl.c
0690: 6d 6f 27 20 2d 63 20 70 72 65 66 73 2e 6d 6c 0a  mo' -c prefs.ml.
06a0: 09 63 70 20 63 6f 6e 66 69 67 2e 65 78 61 6d 70  .cp config.examp
06b0: 6c 65 20 73 6b 65 6c 65 74 6f 6e 2f 63 6f 6e 66  le skeleton/conf
06c0: 69 67 2f 70 72 65 66 73 0a 70 72 65 66 73 2e 63  ig/prefs.prefs.c
06d0: 6d 78 20 3a 20 70 72 65 66 73 2e 6d 6c 20 0a 09  mx : prefs.ml ..
06e0: 24 28 4f 43 41 4d 4c 46 49 4e 44 29 20 24 28 4f  $(OCAMLFIND) $(O
06f0: 43 41 4d 4c 4f 50 54 29 20 2d 70 61 63 6b 61 67  CAMLOPT) -packag
0700: 65 20 72 61 73 63 6c 20 2d 70 70 20 5c 0a 09 27  e rascl -pp \..'
0710: 63 61 6d 6c 70 34 6f 20 2d 49 20 60 6f 63 61 6d  camlp4o -I `ocam
0720: 6c 66 69 6e 64 20 71 75 65 72 79 20 72 61 73 63  lfind query rasc
0730: 6c 60 20 70 61 5f 65 78 74 65 6e 64 2e 63 6d 6f  l` pa_extend.cmo
0740: 20 71 5f 4d 4c 61 73 74 2e 63 6d 6f 20 5c 0a 09   q_MLast.cmo \..
0750: 70 61 5f 72 61 73 63 6c 2e 63 6d 6f 27 20 2d 63  pa_rascl.cmo' -c
0760: 20 70 72 65 66 73 2e 6d 6c 0a 09 63 70 20 63 6f   prefs.ml..cp co
0770: 6e 66 69 67 2e 65 78 61 6d 70 6c 65 20 73 6b 65  nfig.example ske
0780: 6c 65 74 6f 6e 2f 63 6f 6e 66 69 67 2f 70 72 65  leton/config/pre
0790: 66 73 0a 0a 62 61 6e 74 61 6d 2e 63 6d 78 20 3a  fs..bantam.cmx :
07a0: 20 62 61 6e 74 61 6d 2e 6d 6c 0a 09 23 24 28 4f   bantam.ml..#$(O
07b0: 43 41 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41 4d  CAMLFIND) $(OCAM
07c0: 4c 4f 50 54 29 20 2d 70 61 63 6b 61 67 65 20 24  LOPT) -package $
07d0: 28 44 45 50 53 29 20 5c 0a 09 23 09 2d 70 70 20  (DEPS) \..#.-pp 
07e0: 22 63 61 6d 6c 70 34 6f 20 70 61 5f 69 66 64 65  "camlp4o pa_ifde
07f0: 66 2e 63 6d 6f 20 24 28 53 4f 4c 49 44 29 22 20  f.cmo $(SOLID)" 
0800: 2d 63 20 24 3c 0a 09 24 28 4f 43 41 4d 4c 46 49  -c $<..$(OCAMLFI
0810: 4e 44 29 20 24 28 4f 43 41 4d 4c 4f 50 54 29 20  ND) $(OCAMLOPT) 
0820: 2d 70 61 63 6b 61 67 65 20 24 28 44 45 50 53 29  -package $(DEPS)
0830: 20 2d 63 20 24 3c 0a 09 23 2d 70 70 20 22 63 61   -c $<..#-pp "ca
0840: 6d 6c 70 34 6f 20 70 61 5f 6d 61 63 72 6f 2e 63  mlp4o pa_macro.c
0850: 6d 6f 22 20 24 28 4e 45 57 5f 41 44 44 5f 57 41  mo" $(NEW_ADD_WA
0860: 54 43 48 29 20 24 3c 20 0a 0a 62 61 6e 74 61 6d  TCH) $< ..bantam
0870: 2e 63 6d 6f 20 3a 20 62 61 6e 74 61 6d 2e 6d 6c  .cmo : bantam.ml
0880: 0a 09 23 24 28 4f 43 41 4d 4c 46 49 4e 44 29 20  ..#$(OCAMLFIND) 
0890: 24 28 4f 43 41 4d 4c 43 29 20 2d 70 61 63 6b 61  $(OCAMLC) -packa
08a0: 67 65 20 24 28 44 45 50 53 29 20 5c 0a 09 23 09  ge $(DEPS) \..#.
08b0: 2d 70 70 20 22 63 61 6d 6c 70 34 6f 20 70 61 5f  -pp "camlp4o pa_
08c0: 69 66 64 65 66 2e 63 6d 6f 20 24 28 53 4f 4c 49  ifdef.cmo $(SOLI
08d0: 44 29 22 20 2d 63 20 24 3c 0a 09 24 28 4f 43 41  D)" -c $<..$(OCA
08e0: 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41 4d 4c 43  MLFIND) $(OCAMLC
08f0: 29 20 2d 70 61 63 6b 61 67 65 20 24 28 44 45 50  ) -package $(DEP
0900: 53 29 20 2d 63 20 24 3c 0a 09 23 2d 70 70 20 22  S) -c $<..#-pp "
0910: 63 61 6d 6c 70 34 6f 20 70 61 5f 6d 61 63 72 6f  camlp4o pa_macro
0920: 2e 63 6d 6f 22 20 24 28 4e 45 57 5f 41 44 44 5f  .cmo" $(NEW_ADD_
0930: 57 41 54 43 48 29 20 24 3c 20 0a 0a 62 61 6e 74  WATCH) $< ..bant
0940: 61 6d 2e 6d 6c 20 3a 20 62 61 6e 74 61 6d 5f 2e  am.ml : bantam_.
0950: 6d 6c 0a 09 73 65 64 20 22 73 2f 40 49 4e 5f 43  ml..sed "s/@IN_C
0960: 4f 4e 44 40 2f 24 28 49 4e 5f 43 4f 4e 44 29 2f  OND@/$(IN_COND)/
0970: 22 20 62 61 6e 74 61 6d 5f 2e 6d 6c 20 5c 0a 09  " bantam_.ml \..
0980: 7c 20 73 65 64 20 22 73 2f 40 48 55 50 5f 43 4f  | sed "s/@HUP_CO
0990: 4e 44 40 2f 24 28 48 55 50 5f 43 4f 4e 44 29 2f  ND@/$(HUP_COND)/
09a0: 22 20 3e 62 61 6e 74 61 6d 2e 6d 6c 0a 0a 25 2e  " >bantam.ml..%.
09b0: 63 6d 78 20 3a 20 25 2e 6d 6c 0a 09 24 28 4f 43  cmx : %.ml..$(OC
09c0: 41 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41 4d 4c  AMLFIND) $(OCAML
09d0: 4f 50 54 29 20 2d 70 61 63 6b 61 67 65 20 24 28  OPT) -package $(
09e0: 44 45 50 53 29 20 2d 63 20 24 3c 0a 0a 25 2e 63  DEPS) -c $<..%.c
09f0: 6d 6f 20 3a 20 25 2e 6d 6c 0a 09 24 28 4f 43 41  mo : %.ml..$(OCA
0a00: 4d 4c 46 49 4e 44 29 20 24 28 4f 43 41 4d 4c 43  MLFIND) $(OCAMLC
0a10: 29 20 2d 70 61 63 6b 61 67 65 20 24 28 44 45 50  ) -package $(DEP
0a20: 53 29 20 2d 63 20 24 3c 0a                       S) -c $<.