Files
b2txt25/language_model/srilm-1.7.3/dstruct/src/Makefile
2025-07-02 12:18:09 -07:00

172 lines
4.2 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, SRI International. All Rights Reserved.
#
# $Header: /home/srilm/CVS/srilm/dstruct/src/Makefile,v 1.41 2014-05-27 03:05:34 stolcke Exp $
#
# Include common SRILM variable definitions.
include $(SRILM)/common/Makefile.common.variables
# Flags for generating "compact" data structures
COMPACT_FLAGS += -DUSE_SARRAY -DUSE_SARRAY_TRIE -DUSE_SARRAY_MAP2
# Flags for generating "short" data structures
SHORT_FLAGS = $(COMPACT_FLAGS) -DUSE_SHORT_VOCAB -DUSE_XCOUNTS
# Flags for generating "long long" data structures
LLONG_FLAGS = $(COMPACT_FLAGS) -DUSE_LONGLONG_COUNTS -DUSE_XCOUNTS
# Define variables.
TEMPLATE_SOURCES = \
$(SRCDIR)/Array.cc \
$(SRCDIR)/IntervalHeap.cc \
$(SRCDIR)/Map.cc \
$(SRCDIR)/SArray.cc \
$(SRCDIR)/LHash.cc \
$(SRCDIR)/Map2.cc \
$(SRCDIR)/Trie.cc \
$(SRCDIR)/CachedMem.cc
# Example Library declarations files.
EXTERNAL_LIB_HEADERS = \
$(SRCDIR)/Array.h \
$(SRCDIR)/IntervalHeap.h \
$(SRCDIR)/MemStats.h \
$(SRCDIR)/Map.h \
$(SRCDIR)/SArray.h \
$(SRCDIR)/LHash.h \
$(SRCDIR)/Map2.h \
$(SRCDIR)/Trie.h \
$(SRCDIR)/CachedMem.h \
$(SRCDIR)/BlockMalloc.h \
$(SRCDIR)/DStructThreads.h \
$(TEMPLATE_SOURCES)
INTERNAL_LIB_HEADERS =
# Example Library source files.
LIB_SOURCES = \
$(SRCDIR)/qsort.c \
$(SRCDIR)/MemStats.cc \
$(SRCDIR)/LHashTrie.cc \
$(SRCDIR)/SArrayTrie.cc \
$(SRCDIR)/BlockMalloc.cc \
$(SRCDIR)/DStructThreads.cc \
$(TEMPLATE_SOURCES)
# 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)dstruct$(LIB_SUFFIX)
ADDITIONAL_INCLUDES += \
$(TCL_INCLUDE)
ADDITIONAL_LIBRARIES += \
$(SRILM_LIBDIR)/$(LIB_PREFIX)misc$(LIB_SUFFIX) \
$(SRILM_LIBDIR)/$(LIB_PREFIX)z$(LIB_SUFFIX) \
$(TCL_LIBRARY) \
$(MATH_LIBRARY)
# Exported programs.
REAL_PROGRAM_NAMES = \
maxalloc
# Example programs.
PROGRAM_NAMES = \
$(REAL_PROGRAM_NAMES) \
testArray \
testMap \
testFloatMap \
benchHash \
testHash \
testSizes \
testCachedMem \
testBlockMalloc
ifeq ($(NO_TCL), )
PROGRAM_NAMES += \
testMap2 \
testTrie
endif
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.
LIBRARIES = $(LIBRARY) \
$(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) $^
$(RANLIB) $@ $(DEMANGLE_FILTER)
$(PROGRAMS): $(LIBRARY) $(OTHER_LIBRARIES)
# Variables and Targets for released system
EXPORTED_HEADERS = $(EXTERNAL_LIB_HEADERS)
EXPORTED_LIBRARIES = $(LIBRARY)
EXPORTED_PROGRAMS = $(REAL_PROGRAM_NAMES:%=$(BINDIR)/%$(EXE_SUFFIX))
release: release-headers release-libraries release-programs
# Include common SRILM target definitions.
include $(SRILM)/common/Makefile.common.targets