Version finale
This commit is contained in:
92
Makefile
Normal file
92
Makefile
Normal file
@ -0,0 +1,92 @@
|
||||
# Copyright (c) 2005 by Laboratoire Spécification et Vérification (LSV),
|
||||
# CNRS UMR 8643 & ENS Cachan.
|
||||
# Written by Jean Goubault-Larrecq. Derived from the csur project.
|
||||
#
|
||||
# Permission is granted to anyone to use this software for any
|
||||
# purpose on any computer system, and to redistribute it freely,
|
||||
# subject to the following restrictions:
|
||||
#
|
||||
# 1. Neither the author nor its employer is responsible for the consequences
|
||||
# of use of this software, no matter how awful, even if they arise
|
||||
# from defects in it.
|
||||
#
|
||||
# 2. The origin of this software must not be misrepresented, either
|
||||
# by explicit claim or by omission.
|
||||
#
|
||||
# 3. Altered versions must be plainly marked as such, and must not
|
||||
# be misrepresented as being the original software.
|
||||
#
|
||||
# 4. This software is restricted to non-commercial use only. Commercial
|
||||
# use is subject to a specific license, obtainable from LSV.
|
||||
|
||||
%.cmo: %.ml
|
||||
ocamlc -g -c $<
|
||||
|
||||
%.cmi: %.mli
|
||||
ocamlc -g -c $<
|
||||
|
||||
.PHONY: all projet.tar.gz
|
||||
|
||||
# Compilation parameters:
|
||||
CAMLOBJS=error.cmo cparse.cmo cprint.cmo \
|
||||
ctab.cmo clex.cmo verbose.cmo genlab.cmo compile.cmo \
|
||||
main.cmo
|
||||
CAMLSRC=$(addsuffix .ml,$(basename $(CAMLOBJS)))
|
||||
PJ=ProjetMiniC
|
||||
FILES=clex.mll cparse.ml cparse.mli ctab.mly \
|
||||
compile.ml compile.mli \
|
||||
cprint.ml cprint.mli \
|
||||
error.ml verbose.ml genlab.ml main.ml Makefile
|
||||
|
||||
all: mcc
|
||||
|
||||
projet: projet.tar.gz
|
||||
|
||||
mcc: $(CAMLOBJS)
|
||||
ocamlc -g -o mcc unix.cma $(CAMLOBJS)
|
||||
|
||||
clean:
|
||||
rm -f mcc *.cmi *.cmo
|
||||
rm -f ctab.ml ctab.mli clex.ml
|
||||
rm -rf projet.tar.gz $(PJ)
|
||||
rm -rf Test/
|
||||
|
||||
test: projet.tar.gz
|
||||
-mkdir Test
|
||||
-rm -rf Test/*
|
||||
cp projet.tar.gz Test/
|
||||
(cd Test/; tar -xvzf projet.tar.gz; cd ProjetMiniC/; cp ~/Papers/compile.ml .; make; cp mcc ~/bin)
|
||||
|
||||
projet.tar.gz:
|
||||
rm -rf $(PJ) && mkdir $(PJ)
|
||||
cp $(FILES) $(PJ)
|
||||
-mkdir $(PJ)/Exemples
|
||||
cp Exemples/*.c $(PJ)/Exemples
|
||||
cp cprint_skel.ml $(PJ)/cprint.ml
|
||||
cp compile_skel.ml $(PJ)/compile.ml
|
||||
tar -cvzf $@ $(PJ)
|
||||
|
||||
P1=../boostrap
|
||||
P2=../../2/boostrap
|
||||
p2_links:
|
||||
@echo Populating $(P2) with links for missing files...
|
||||
@mkdir -p $(P2)
|
||||
@for f in $(FILES) compile_skel.ml cprint_skel.ml ; do \
|
||||
test -f $(P2)/$$f || (echo Linking $$f... ; ln $(P1)/$$f $(P2)/$$f) ; done
|
||||
@mkdir -p $(P2)/Exemples
|
||||
@for f in Exemples/*.c ; do \
|
||||
test -f $(P2)/$$f || (echo Linking $$f... ; ln $(P1)/$$f $(P2)/$$f) ; done
|
||||
|
||||
ctab.ml: ctab.mly
|
||||
ocamlyacc -v ctab.mly
|
||||
|
||||
clex.ml: clex.mll
|
||||
ocamllex clex.mll
|
||||
|
||||
compile.cmi: compile.mli
|
||||
compile.cmo: compile.ml compile.cmi
|
||||
|
||||
depend: Makefile $(wildcard *.ml) $(wildcard *.mli) ctab.ml clex.ml
|
||||
ocamldep *.mli *.ml > depend
|
||||
|
||||
-include depend
|
Reference in New Issue
Block a user