blob: 980af81228751bd4ec9dbffa258b1bc0ef02345c [file] [log] [blame]
# $Id: Makefile,v 1.3 2004/08/13 16:35:59 mlogan Exp $
#
include ../build/otp.mk
include ../build/colors.mk
include ../build/buildtargets.mk
# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include ../vsn.mk
APP_NAME=thrift
PFX=thrift
VSN=$(THRIFT_VSN)
# ----------------------------------------------------
# Install directory specification
# WARNING: INSTALL_DIR the command to install a directory.
# INSTALL_DST is the target directory
# ----------------------------------------------------
INSTALL_DST = $(ERLANG_OTP)/lib/$(APP_NAME)-$(VSN)
# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
MODULES = $(shell find . -name \*.erl | sed 's:^\./::' | sed 's/\.erl//')
MODULES_STRING_LIST = $(shell find . -name \*.erl | sed 's:^\./:":' | sed 's/\.erl/",/')
HRL_FILES=
INTERNAL_HRL_FILES= $(APP_NAME).hrl
ERL_FILES= $(MODULES:%=%.erl)
DOC_FILES=$(ERL_FILES)
APP_FILE= $(APP_NAME).app
APPUP_FILE= $(APP_NAME).appup
APP_SRC= $(APP_FILE).src
APPUP_SRC= $(APPUP_FILE).src
APP_TARGET= $(EBIN)/$(APP_FILE)
APPUP_TARGET= $(EBIN)/$(APPUP_FILE)
BEAMS= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
TARGET_FILES= $(BEAMS) $(APP_TARGET) $(APPUP_TARGET)
WEB_TARGET=/var/yaws/www/$(APP_NAME)
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ERL_FLAGS +=
ERL_INCLUDE = -I../include -I../../fslib/include -I../../system_status/include
ERL_COMPILE_FLAGS += $(ERL_INCLUDE)
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
all debug opt: $(EBIN) $(TARGET_FILES)
#$(EBIN)/rm_logger.beam: $(APP_NAME).hrl
include ../build/docs.mk
# Note: In the open-source build clean must not destroy the preloaded
# beam files.
clean:
rm -f $(TARGET_FILES)
rm -f *~
rm -f core
rm -rf $(EBIN)
rm -rf *html
$(EBIN):
mkdir $(EBIN)
dialyzer: $(TARGET_FILES)
dialyzer --src -r . $(ERL_INCLUDE)
# ----------------------------------------------------
# Special Build Targets
# ----------------------------------------------------
$(APP_TARGET): $(APP_SRC) ../vsn.mk $(BEAMS)
sed -e 's;%VSN%;$(VSN);' \
-e 's;%PFX%;$(PFX);' \
-e 's;%APP_NAME%;$(APP_NAME);' \
-e 's;%MODULES%;%MODULES%$(MODULES_STRING_LIST);' \
$< > $<".tmp"
sed -e 's/%MODULES%\(.*\),/\1/' \
$<".tmp" > $@
rm $<".tmp"
$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
sed -e 's;%VSN%;$(VSN);' $< > $@
$(WEB_TARGET): ../markup/*
rm -rf $(WEB_TARGET)
mkdir $(WEB_TARGET)
cp -r ../markup/ $(WEB_TARGET)
cp -r ../skins/ $(WEB_TARGET)
# ----------------------------------------------------
# Install Target
# ----------------------------------------------------
install: all $(WEB_TARGET)
# $(INSTALL_DIR) $(INSTALL_DST)/src
# $(INSTALL_DATA) $(ERL_FILES) $(INSTALL_DST)/src
# $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(INSTALL_DST)/src
# $(INSTALL_DIR) $(INSTALL_DST)/include
# $(INSTALL_DATA) $(HRL_FILES) $(INSTALL_DST)/include
# $(INSTALL_DIR) $(INSTALL_DST)/ebin
# $(INSTALL_DATA) $(TARGET_FILES) $(INSTALL_DST)/ebin