-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
42 lines (29 loc) · 973 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
LIB = geoip
PYTHON = python
OCAMLBUILD = ocamlbuild
.PHONY: all test clean
# Hack to work around ocamlbuild 3.12.1 bug.
CLEANUP_FILES = geoip.cma geoip.cmxa geoip_test.byte geoip_test.native benchmark.byte benchmark.native
OBJ_DIR = _build/lib
LIB_INSTALLS = \
$(OBJ_DIR)/geoip.mli $(OBJ_DIR)/geoip.cmi \
$(OBJ_DIR)/geoip.cma $(OBJ_DIR)/geoip.cmxa $(OBJ_DIR)/geoip.a
all: lib/geoip_regions.ml lib/geoip_timezones.ml Makefile
-rm -f $(CLEANUP_FILES)
$(OCAMLBUILD) lib/all.otarget
lib/geoip_regions.ml: tools/gen_region_names.py dat/fips10_4.txt dat/iso3166_2.txt
$(PYTHON) $< > $@
lib/geoip_timezones.ml: tools/gen_timezones.py dat/timezone.txt
$(PYTHON) $< > $@
test: all
-rm -f $(CLEANUP_FILES)
$(OCAMLBUILD) test/all.otarget
clean:
$(OCAMLBUILD) -clean -quiet
realclean: clean
rm -f lib/geoip_regions.ml lib/geoip_timezones.ml
install:
ocamlfind install $(LIB) META $(LIB_INSTALLS)
uninstall:
ocamlfind remove $(LIB)
reinstall: uninstall install