67 lines
2.1 KiB
Makefile
67 lines
2.1 KiB
Makefile
#**************************************************************************
|
|
#* *
|
|
#* OCaml *
|
|
#* *
|
|
#* Xavier Leroy, projet Cristal, INRIA Rocquencourt *
|
|
#* *
|
|
#* Copyright 1999 Institut National de Recherche en Informatique et *
|
|
#* en Automatique. *
|
|
#* *
|
|
#* All rights reserved. This file is distributed under the terms of *
|
|
#* the GNU Lesser General Public License version 2.1, with the *
|
|
#* special exception on linking described in the file LICENSE. *
|
|
#* *
|
|
#**************************************************************************
|
|
|
|
# Makefile for the parser generator.
|
|
|
|
ROOTDIR = ..
|
|
|
|
include $(ROOTDIR)/Makefile.config
|
|
|
|
OC_CPPFLAGS += -I$(ROOTDIR)/runtime
|
|
|
|
ocamlyacc_SOURCES := $(addsuffix .c,\
|
|
closure error lalr lr0 main mkpar output reader skeleton symtab verbose \
|
|
warshall)
|
|
|
|
ocamlyacc_OBJECTS := $(ocamlyacc_SOURCES:.c=.$(O))
|
|
|
|
generated_files := ocamlyacc$(EXE) $(ocamlyacc_OBJECTS) version.h
|
|
|
|
all: ocamlyacc$(EXE)
|
|
|
|
ifeq ($(TOOLCHAIN),cc)
|
|
MKEXE_ANSI=$(MKEXE)
|
|
endif
|
|
|
|
ocamlyacc$(EXE): $(ocamlyacc_OBJECTS)
|
|
$(MKEXE_ANSI) -o $@ $^ $(EXTRALIBS)
|
|
|
|
version.h : $(ROOTDIR)/VERSION
|
|
echo "#define OCAML_VERSION \"`sed -e 1q $< | tr -d '\r'`\"" > $@
|
|
|
|
clean:
|
|
rm -f $(generated_files)
|
|
|
|
depend:
|
|
|
|
closure.$(O): defs.h
|
|
error.$(O): defs.h
|
|
lalr.$(O): defs.h
|
|
lr0.$(O): defs.h
|
|
main.$(O): defs.h version.h
|
|
mkpar.$(O): defs.h
|
|
output.$(O): defs.h
|
|
reader.$(O): defs.h
|
|
skeleton.$(O): defs.h
|
|
symtab.$(O): defs.h
|
|
verbose.$(O): defs.h
|
|
warshall.$(O): defs.h
|
|
|
|
# The following rule is similar to make's default one, except that it
|
|
# also works for .obj files.
|
|
|
|
%.$(O): %.c
|
|
$(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
|