Files
b2txt25/language_model/srilm-1.7.3/common/Makefile.example
2025-07-02 12:18:09 -07:00

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