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 $<.