76 lines
1.7 KiB
Makefile
76 lines
1.7 KiB
Makefile
|
## -*- 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@
|