File: Makefile

package info (click to toggle)
fort 0.4.2-6
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 76 kB
  • ctags: 65
  • sloc: ml: 330; makefile: 73; sh: 51
file content (53 lines) | stat: -rw-r--r-- 1,074 bytes parent folder | download | duplicates (2)
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
43
44
45
46
47
48
49
50
51
52
53
# Copyright (c) 2001 Patrick Doane.
# For conditions of distribution and use, see copyright notice in LICENSE. *)

PREFIX =

include Makefile.config

OCAMLC     := ocamlc

# FORT top-level interpreter
NAME    := fort
VERSION := 0.4.2
OBJECTS := fort.cmo fortmain.cmo
INTERFACES := fort.mli
LIBS    := unix

# Rules

EXECUTABLE := $(NAME)$(EXEC_SUFFIX)

$(EXECUTABLE): $(OBJECTS)
	$(OCAMLC) -linkall -o $@ toplevellib.cma $(LIBS:%=%.cma) $(OBJECTS)

install: $(EXECUTABLE) $(OBJECTS)
	mkdir -p $(PREFIX)$(LIBDIR)
	cp fort.cmi $(OBJECTS) $(INTERFACES) $(PREFIX)$(LIBDIR)
	mkdir -p $(PREFIX)$(BINDIR)
	cp $(EXECUTABLE) $(PREFIX)$(BINDIR)

clean:
	rm -f *.cm[iox] *.obj

distclean: clean
	rm -f $(EXECUTABLE) *~ Makefile.config

release: distclean
	cd ../releases; \
	cp -r ../fort $(NAME)-$(VERSION); \
	gtar czvf $(NAME)-$(VERSION).tar.gz --exclude='CVS' --exclude='Makefile.config' $(NAME)-$(VERSION); \
	rm -r $(NAME)-$(VERSION)

.SUFFIXES: .mli .ml .cmi .cmo

.mli.cmi:
	$(OCAMLC) -c $<

.ml.cmo:
	$(OCAMLC) -c $<

# Dependencies

fort.cmo: fort.cmi 
fortmain.cmo: fort.cmi