# # %CopyrightBegin% # # Copyright Ericsson AB 1998-2016. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # %CopyrightEnd% # include $(ERL_TOP)/make/target.mk ifeq ($(TYPE),debug) PURIFY = TYPEMARKER = .debug TYPE_FLAGS = -DDEBUG @DEBUG_FLAGS@ else ifeq ($(TYPE),purify) PURIFY = purify TYPEMARKER = TYPE_FLAGS = -O2 -DPURIFY else override TYPE = opt PURIFY = TYPEMARKER = TYPE_FLAGS = -O2 endif endif include $(ERL_TOP)/make/$(TARGET)/otp.mk include ../../vsn.mk include ../epmd.mk BINDIR = $(ERL_TOP)/bin/$(TARGET) OBJDIR = $(ERL_TOP)/erts/obj$(TYPEMARKER)/$(TARGET) ERTS_INCL = -I$(ERL_TOP)/erts/include \ -I$(ERL_TOP)/erts/include/$(TARGET) \ -I$(ERL_TOP)/erts/include/internal \ -I$(ERL_TOP)/erts/include/internal/$(TARGET) # On windows we always need reentrant libraries. ifeq ($(TARGET),win32) ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal_r$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ else ifeq ($(findstring vxworks,$(TARGET)),vxworks) ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ else ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ -lm endif endif ERTS_LIB = $(ERL_TOP)/erts/lib_src/obj/$(TARGET)/$(TYPE)/MADE CC = @CC@ WFLAGS = @WFLAGS@ CFLAGS = @CFLAGS@ @DEFS@ $(TYPE_FLAGS) $(WFLAGS) $(ERTS_INCL) LD = @LD@ LIBS = @LIBS@ @SYSTEMD_DAEMON_LIBS@ $(ERTS_INTERNAL_LIBS) LDFLAGS = @LDFLAGS@ # ---------------------------------------------------- # Release directory specification # ---------------------------------------------------- # The targets ifeq ($(findstring win32,$(TARGET)),win32) EPMD = epmd.exe else EPMD = epmd endif INSTALL_PROGS = $(BINDIR)/$(EPMD) #--------------------------------- # Options #--------------------------------- EPMD_FLAGS = -DEPMD_PORT_NO=$(EPMD_PORT_NO) #--------------------------------- # source and object file information #--------------------------------- EPMD_OBJS = $(OBJDIR)/epmd.o \ $(OBJDIR)/epmd_cli.o \ $(OBJDIR)/epmd_srv.o #--------------------------------- # Build targets #--------------------------------- all: $(BINDIR)/$(EPMD) docs: clean: rm -f $(BINDIR)/$(EPMD) rm -f $(ERL_TOP)/erts/obj/$(TARGET)/epmd.o rm -f $(ERL_TOP)/erts/obj/$(TARGET)/epmd_cli.o rm -f $(ERL_TOP)/erts/obj/$(TARGET)/epmd_srv.o rm -f *.o rm -f *~ core # # Objects & executables # $(BINDIR)/$(EPMD): $(EPMD_OBJS) $(ERTS_LIB) $(ld_verbose)$(PURIFY) $(LD) $(LDFLAGS) -o $@ $(EPMD_OBJS) $(LIBS) $(OBJDIR)/%.o: %.c epmd.h epmd_int.h $(V_CC) $(CFLAGS) $(EPMD_FLAGS) -o $@ -c $< $(ERTS_LIB): $(make_verbose)cd $(ERL_TOP)/erts/lib_src && $(MAKE) $(TYPE) include $(ERL_TOP)/make/otp_release_targets.mk release_spec: all $(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/bin" $(INSTALL_PROGRAM) $(INSTALL_PROGS) "$(RELEASE_PATH)/erts-$(VSN)/bin" release_docs_spec: