blob: 32db9c40a173dc9c98a1a2de119f133c9c06004a [file] [log] [blame]
Christopher Piro094823a2007-07-18 00:26:12 +00001# $Id: Makefile,v 1.3 2004/08/13 16:35:59 mlogan Exp $
2#
Christopher Piro93a06642007-09-18 06:23:33 +00003include ../build/otp.mk
4include ../build/colors.mk
5include ../build/buildtargets.mk
Christopher Piro094823a2007-07-18 00:26:12 +00006
7# ----------------------------------------------------
8# Application version
9# ----------------------------------------------------
10
11include ../vsn.mk
12APP_NAME=thrift
13PFX=thrift
14VSN=$(THRIFT_VSN)
15
16# ----------------------------------------------------
17# Install directory specification
18# WARNING: INSTALL_DIR the command to install a directory.
19# INSTALL_DST is the target directory
20# ----------------------------------------------------
21INSTALL_DST = $(ERLANG_OTP)/lib/$(APP_NAME)-$(VSN)
22
23# ----------------------------------------------------
24# Target Specs
25# ----------------------------------------------------
26
27
Christopher Pirob6f18c22008-03-04 07:09:12 +000028MODULES = $(shell find . -name \*.erl | sed s:^\\./:: | sed s/\\.erl//)
29MODULES_STRING_LIST = $(shell find . -name \*.erl | sed s:^\\./:\": | sed s/\\.erl/\",/)
Christopher Piro094823a2007-07-18 00:26:12 +000030
31HRL_FILES=
32INTERNAL_HRL_FILES= $(APP_NAME).hrl
33ERL_FILES= $(MODULES:%=%.erl)
34DOC_FILES=$(ERL_FILES)
35
36APP_FILE= $(APP_NAME).app
37APPUP_FILE= $(APP_NAME).appup
38
39APP_SRC= $(APP_FILE).src
40APPUP_SRC= $(APPUP_FILE).src
41
42APP_TARGET= $(EBIN)/$(APP_FILE)
43APPUP_TARGET= $(EBIN)/$(APPUP_FILE)
44
45BEAMS= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
46TARGET_FILES= $(BEAMS) $(APP_TARGET) $(APPUP_TARGET)
47
48WEB_TARGET=/var/yaws/www/$(APP_NAME)
49
50# ----------------------------------------------------
51# FLAGS
52# ----------------------------------------------------
53
54ERL_FLAGS +=
eletuchy7dc23bc2008-02-27 17:41:05 +000055ERL_INCLUDE = -I../include -I../../fslib/include -I../../system_status/include
56ERL_COMPILE_FLAGS += $(ERL_INCLUDE)
Christopher Piro094823a2007-07-18 00:26:12 +000057
58# ----------------------------------------------------
59# Targets
60# ----------------------------------------------------
61
David Reiss0c90f6f2008-02-06 22:18:40 +000062all debug opt: $(EBIN) $(TARGET_FILES)
Christopher Piro094823a2007-07-18 00:26:12 +000063
64#$(EBIN)/rm_logger.beam: $(APP_NAME).hrl
Christopher Piro93a06642007-09-18 06:23:33 +000065include ../build/docs.mk
Christopher Piro094823a2007-07-18 00:26:12 +000066
67# Note: In the open-source build clean must not destroy the preloaded
68# beam files.
69clean:
70 rm -f $(TARGET_FILES)
Christopher Piro68940292007-10-02 00:35:12 +000071 rm -f *~
Christopher Piro094823a2007-07-18 00:26:12 +000072 rm -f core
73 rm -rf $(EBIN)
74 rm -rf *html
75
76$(EBIN):
77 mkdir $(EBIN)
78
eletuchy7dc23bc2008-02-27 17:41:05 +000079dialyzer: $(TARGET_FILES)
80 dialyzer --src -r . $(ERL_INCLUDE)
81
Christopher Piro094823a2007-07-18 00:26:12 +000082# ----------------------------------------------------
83# Special Build Targets
84# ----------------------------------------------------
85
86$(APP_TARGET): $(APP_SRC) ../vsn.mk $(BEAMS)
87 sed -e 's;%VSN%;$(VSN);' \
88 -e 's;%PFX%;$(PFX);' \
89 -e 's;%APP_NAME%;$(APP_NAME);' \
90 -e 's;%MODULES%;%MODULES%$(MODULES_STRING_LIST);' \
David Reiss0c90f6f2008-02-06 22:18:40 +000091 $< > $<".tmp"
Christopher Piro094823a2007-07-18 00:26:12 +000092 sed -e 's/%MODULES%\(.*\),/\1/' \
David Reiss0c90f6f2008-02-06 22:18:40 +000093 $<".tmp" > $@
Christopher Piro094823a2007-07-18 00:26:12 +000094 rm $<".tmp"
95
96
97$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
98 sed -e 's;%VSN%;$(VSN);' $< > $@
99
David Reiss0c90f6f2008-02-06 22:18:40 +0000100$(WEB_TARGET): ../markup/*
101 rm -rf $(WEB_TARGET)
102 mkdir $(WEB_TARGET)
Christopher Piro094823a2007-07-18 00:26:12 +0000103 cp -r ../markup/ $(WEB_TARGET)
104 cp -r ../skins/ $(WEB_TARGET)
105
106# ----------------------------------------------------
107# Install Target
David Reiss0c90f6f2008-02-06 22:18:40 +0000108# ----------------------------------------------------
Christopher Piro094823a2007-07-18 00:26:12 +0000109
110install: all $(WEB_TARGET)
111# $(INSTALL_DIR) $(INSTALL_DST)/src
112# $(INSTALL_DATA) $(ERL_FILES) $(INSTALL_DST)/src
113# $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(INSTALL_DST)/src
114# $(INSTALL_DIR) $(INSTALL_DST)/include
115# $(INSTALL_DATA) $(HRL_FILES) $(INSTALL_DST)/include
116# $(INSTALL_DIR) $(INSTALL_DST)/ebin
117# $(INSTALL_DATA) $(TARGET_FILES) $(INSTALL_DST)/ebin