## -*- makefile -*- ###################################################################### ## C CC := @CC@ CFLAGS := @CFLAGS@ @DEFS@ LD_SHARED := @LD_SHARED@ ###################################################################### ## Erlang ERL = @ERL@ ERLC = @ERLC@ ERLDIR = @ERLDIR@ ERL_C_INCLUDE_DIR := $(ERLDIR)/usr/include ERLC_FLAGS := -W ifndef no_debug_info ERLC_FLAGS += +debug_info endif ifdef debug ERLC_FLAGS += -Ddebug endif EBIN_DIR := ../ebin DOC_DIR := ../doc EMULATOR := beam ERL_SOURCES := $(wildcard *.erl) ERL_HEADERS := $(wildcard *.hrl) $(wildcard ../include/*.hrl) ERL_OBJECTS := $(ERL_SOURCES:%.erl=$(EBIN_DIR)/%.$(EMULATOR)) ERL_DOCUMENTS := $(ERL_SOURCES:%.erl=$(DOC_DIR)/%.html) # Hmm, don't know if you are supposed to like this better... ;-) APPSCRIPT = '$$vsn=shift; $$mods=""; while(@ARGV){ $$_=shift; s/^([A-Z].*)$$/\'\''$$1\'\''/; $$mods.=", " if $$mods; $$mods .= $$_; } while(<>) { s/%VSN%/$$vsn/; s/%MODULES%/$$mods/; print; }' ../ebin/%.app: %.app.src ../vsn.mk Makefile perl -e $(APPSCRIPT) "$(VSN)" $(MODULES) < $< > $@ ../ebin/%.appup: %.appup cp $< $@ $(EBIN_DIR)/%.$(EMULATOR): %.erl $(ERLC) $(ERLC_FLAGS) -o $(EBIN_DIR) $< # generate documentation with edoc: # this is still not the proper way to do it, but it works # (see the wumpus application for an example) $(DOC_DIR)/%.html: %.erl ${ERL} -noshell \ -pa ../../syntax_tools/ebin \ -pa ../../edoc/ebin \ -pa ../../xmerl/ebin \ -pa ../../ucs/ebin \ -run edoc file $< -run init stop mv *.html $(DOC_DIR) # C linking items NSL_LIBS = @NSL_LIBS@ SOCKET_LIBS = @SOCKET_LIBS@ # Miscellaneous GROFF = @GROFF@ PS2PDF = @PS2PDF@