111 lines
2.9 KiB
Makefile
111 lines
2.9 KiB
Makefile
#
|
|
# File: Makefile.example
|
|
# Author: The SRI DECIPHER (TM) System
|
|
# Date: Thu Sep 9 12:04:47 1993
|
|
#
|
|
# Description:
|
|
# This is the example makefile to start from when adding new
|
|
# modules to the DECIPHER System. To use this makefile, first
|
|
# copy it to your directory as the file "Makefile". Second,
|
|
# replace the word "Example" in the text below with the real name
|
|
# of your library. Next replace the the example filenames with
|
|
# the names of your actual declarations and source files in the
|
|
# appropriate variable definitions. Finally clean up by deleting
|
|
# any lines not relevant to your module and updating this header
|
|
# to describe your new module. Do not forget to use the proper
|
|
# RCS keywords!
|
|
#
|
|
# Copyright (c) 1993-2001 SRI International. All Rights Reserved.
|
|
#
|
|
# $Header: /home/srilm/CVS/srilm/common/Makefile.example,v 1.12 2006/01/09 22:47:37 stolcke Exp $
|
|
#
|
|
|
|
#MACHINE_TYPE := $(shell $(SRILM)/sbin/machine-type)
|
|
|
|
# Include common SRILM variable definitions.
|
|
include $(SRILM)/common/Makefile.common.variables
|
|
|
|
# Define variables.
|
|
|
|
# Example Library declarations files.
|
|
|
|
EXTERNAL_LIB_HEADERS = $(SRCDIR)/example-external.h
|
|
|
|
INTERNAL_LIB_HEADERS = $(SRCDIR)/example-internal.h
|
|
|
|
# Example Library source files.
|
|
LIB_SOURCES = $(SRCDIR)/example.c
|
|
|
|
# Example Library object files.
|
|
LIB_OBJECTS = $(patsubst $(SRCDIR)/%.cc,$(OBJDIR)/%$(OBJ_SUFFIX),\
|
|
$(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%$(OBJ_SUFFIX),$(LIB_SOURCES)))
|
|
|
|
|
|
# Example Library.
|
|
LIBRARY = $(OBJDIR)/$(LIB_PREFIX)example$(LIB_SUFFIX)
|
|
|
|
# Example programs.
|
|
PROGRAM_NAMES = example-program
|
|
|
|
PROGRAMS = $(PROGRAM_NAMES:%=$(BINDIR)/%$(EXE_SUFFIX))
|
|
|
|
PROGRAM_SOURCES = $(foreach prog,$(PROGRAM_NAMES),\
|
|
$(wildcard $(SRCDIR)/$(prog).c) \
|
|
$(wildcard $(SRCDIR)/$(prog).cc))
|
|
PROGRAM_OBJECTS = $(PROGRAM_NAMES:%=$(OBJDIR)/%$(OBJ_SUFFIX))
|
|
|
|
|
|
# Libraries to be linked with the Example programs.
|
|
# (include standard LM and helper libraries)
|
|
LIBRARIES = $(LIBRARY) \
|
|
-loolm \
|
|
-ldstruct \
|
|
-lmisc \
|
|
$(ADDITIONAL_LIBRARIES)
|
|
|
|
# All of the types of files.
|
|
|
|
ALL_HEADERS = $(EXTERNAL_LIB_HEADERS) \
|
|
$(INTERNAL_LIB_HEADERS)
|
|
|
|
ALL_SOURCES = $(LIB_SOURCES) \
|
|
$(PROGRAM_SOURCES)
|
|
|
|
ALL_OBJECTS = $(LIB_OBJECTS) \
|
|
$(PROGRAM_OBJECTS)
|
|
|
|
ALL_LIBRARIES = $(LIBRARY)
|
|
|
|
ALL_PROGRAMS = $(PROGRAMS)
|
|
|
|
ALL_PROGRAM_NAMES = $(PROGRAM_NAMES)
|
|
|
|
|
|
# Define pseudo-targets.
|
|
|
|
|
|
# Make sure the library does not get deleted if the make is interrupted.
|
|
.PRECIOUS: $(LIBRARY)
|
|
|
|
|
|
# Define targets.
|
|
|
|
|
|
all: $(PROGRAMS)
|
|
|
|
$(LIBRARY): $(LIB_OBJECTS)
|
|
$(ARCHIVE) $(AR_OUTPUT_OPTION) $^ $(DEMANGLE_FILTER)
|
|
$(RANLIB) $@ $(DEMANGLE_FILTER)
|
|
|
|
|
|
# Variables and Targets for released system
|
|
|
|
EXPORTED_HEADERS = $(EXTERNAL_LIB_HEADERS)
|
|
EXPORTED_LIBRARIES = $(LIBRARY)
|
|
EXPORTED_PROGRAMS = $(PROGRAMS)
|
|
|
|
release: release-headers release-libraries release-programs
|
|
|
|
# Include common SRILM target definitions.
|
|
include $(SRILM)/common/Makefile.common.targets
|