| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 1 | # $Id: Makefile,v 1.3 2004/08/13 16:35:59 mlogan Exp $ | 
|  | 2 | # | 
|  | 3 | include ../build/otp.mk | 
|  | 4 | include ../build/colors.mk | 
|  | 5 | include ../build/buildtargets.mk | 
|  | 6 |  | 
|  | 7 | # ---------------------------------------------------- | 
|  | 8 | # Application version | 
|  | 9 | # ---------------------------------------------------- | 
|  | 10 |  | 
|  | 11 | include ../vsn.mk | 
|  | 12 | APP_NAME=thrift | 
|  | 13 | PFX=thrift | 
|  | 14 | VSN=$(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 | # ---------------------------------------------------- | 
|  | 21 | INSTALL_DST = $(ERLANG_OTP)/lib/$(APP_NAME)-$(VSN) | 
|  | 22 |  | 
|  | 23 | # ---------------------------------------------------- | 
|  | 24 | # Target Specs | 
|  | 25 | # ---------------------------------------------------- | 
|  | 26 |  | 
|  | 27 |  | 
| David Reiss | 080991b | 2008-10-30 04:28:42 +0000 | [diff] [blame] | 28 | MODULES = $(shell find . -name \*.erl | sed 's:^\./::' | sed 's/\.erl//') | 
|  | 29 | MODULES_STRING_LIST = $(shell find . -name \*.erl | sed 's:^\./:":' | sed 's/\.erl/",/') | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 30 |  | 
|  | 31 | HRL_FILES= | 
|  | 32 | INTERNAL_HRL_FILES= $(APP_NAME).hrl | 
|  | 33 | ERL_FILES= $(MODULES:%=%.erl) | 
|  | 34 | DOC_FILES=$(ERL_FILES) | 
|  | 35 |  | 
|  | 36 | APP_FILE= $(APP_NAME).app | 
|  | 37 | APPUP_FILE= $(APP_NAME).appup | 
|  | 38 |  | 
|  | 39 | APP_SRC= $(APP_FILE).src | 
|  | 40 | APPUP_SRC= $(APPUP_FILE).src | 
|  | 41 |  | 
|  | 42 | APP_TARGET= $(EBIN)/$(APP_FILE) | 
|  | 43 | APPUP_TARGET= $(EBIN)/$(APPUP_FILE) | 
|  | 44 |  | 
|  | 45 | BEAMS= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) | 
|  | 46 | TARGET_FILES= $(BEAMS) $(APP_TARGET) $(APPUP_TARGET) | 
|  | 47 |  | 
|  | 48 | WEB_TARGET=/var/yaws/www/$(APP_NAME) | 
|  | 49 |  | 
|  | 50 | # ---------------------------------------------------- | 
|  | 51 | # FLAGS | 
|  | 52 | # ---------------------------------------------------- | 
|  | 53 |  | 
|  | 54 | ERL_FLAGS += | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 55 | ERL_INCLUDE = -I../include -I../../fslib/include -I../../system_status/include | 
| David Reiss | bab1f48 | 2008-06-11 01:13:26 +0000 | [diff] [blame] | 56 | ERL_COMPILE_FLAGS += $(ERL_INCLUDE) +native | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 57 |  | 
|  | 58 | # ---------------------------------------------------- | 
|  | 59 | # Targets | 
|  | 60 | # ---------------------------------------------------- | 
|  | 61 |  | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 62 | all debug opt: $(EBIN) $(TARGET_FILES) | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 63 |  | 
|  | 64 | #$(EBIN)/rm_logger.beam: $(APP_NAME).hrl | 
|  | 65 | include ../build/docs.mk | 
|  | 66 |  | 
|  | 67 | # Note: In the open-source build clean must not destroy the preloaded | 
|  | 68 | # beam files. | 
|  | 69 | clean: | 
|  | 70 | rm -f $(TARGET_FILES) | 
|  | 71 | rm -f *~ | 
|  | 72 | rm -f core | 
|  | 73 | rm -rf $(EBIN) | 
|  | 74 | rm -rf *html | 
|  | 75 |  | 
|  | 76 | $(EBIN): | 
|  | 77 | mkdir $(EBIN) | 
|  | 78 |  | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 79 | dialyzer: $(TARGET_FILES) | 
|  | 80 | dialyzer --src -r . $(ERL_INCLUDE) | 
|  | 81 |  | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 82 | # ---------------------------------------------------- | 
|  | 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 Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 91 | $< > $<".tmp" | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 92 | sed -e 's/%MODULES%\(.*\),/\1/' \ | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 93 | $<".tmp" > $@ | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 94 | rm $<".tmp" | 
|  | 95 |  | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 96 | $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk | 
|  | 97 | sed -e 's;%VSN%;$(VSN);' $< > $@ | 
|  | 98 |  | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 99 | $(WEB_TARGET): ../markup/* | 
|  | 100 | rm -rf $(WEB_TARGET) | 
|  | 101 | mkdir $(WEB_TARGET) | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 102 | cp -r ../markup/ $(WEB_TARGET) | 
|  | 103 | cp -r ../skins/ $(WEB_TARGET) | 
|  | 104 |  | 
|  | 105 | # ---------------------------------------------------- | 
|  | 106 | # Install Target | 
| David Reiss | 6563f34 | 2008-06-11 00:58:55 +0000 | [diff] [blame] | 107 | # ---------------------------------------------------- | 
| David Reiss | ae756f4 | 2008-06-10 22:57:11 +0000 | [diff] [blame] | 108 |  | 
|  | 109 | install: all $(WEB_TARGET) | 
|  | 110 | #	$(INSTALL_DIR) $(INSTALL_DST)/src | 
|  | 111 | #	$(INSTALL_DATA) $(ERL_FILES) $(INSTALL_DST)/src | 
|  | 112 | #	$(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(INSTALL_DST)/src | 
|  | 113 | #	$(INSTALL_DIR) $(INSTALL_DST)/include | 
|  | 114 | #	$(INSTALL_DATA) $(HRL_FILES) $(INSTALL_DST)/include | 
|  | 115 | #	$(INSTALL_DIR) $(INSTALL_DST)/ebin | 
|  | 116 | #	$(INSTALL_DATA) $(TARGET_FILES) $(INSTALL_DST)/ebin |