Abstração do asterisk pelo manager (AMI).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
3.3 KiB

#
# _____ _ _ _____
# / ____(_) | | |_ _|
# | (___ _ _ __ ___ _ __ | | ___ ___ | | _ __
# \___ \| | '_ ` _ \| '_ \| |/ _ \/ __| | | | '_ \
# ____) | | | | | | | |_) | | __/\__ \ _| |_| |_) |
# |_____/|_|_| |_| |_| .__/|_|\___||___/ |_____| .__/
# | \/ | | | | |
# | \ / | __ _ _ __ |_|_ _ __ _ ___ _ __ |_|
# | |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__|
# | | | | (_| | | | | (_| | (_| | __/ |
# |_| |_|\__,_|_| |_|\__,_|\__, |\___|_|
# __/ |
# |___/
#
# copyright 2022
#
# Compilar client manager Simples IP
#
CC=gcc
PROGRAM_NAME=amid
DIR_OBJ=build/
DIR_SRC=src/
CFLAGS= -I $(DIR_SRC) -Wall $(shell mariadb_config --cflags --include )
LIBS= $(shell mariadb_config --libs ) -lpthread -lami_c -lsystemd
OBJ = \
build/main.o \
build/parse_events.o \
build/database.o \
build/frame_asterisk.o \
build/parse_actions.o \
build/methods_actions.o \
build/peer.o \
build/peer_db.o \
build/queue.o \
build/queue_db.o \
build/agent.o \
build/agent_db.o \
build/log.o \
build/string_functions.o \
build/command_cli.o \
build/settings.o \
build/channel.o \
build/channel_db.o \
build/channel_route_db.o \
build/channel_route.o \
build/bridge.o \
build/bridge_db.o \
build/transfer_frame.o \
build/variable_frame.o \
build/channel_frame.o \
build/call.o \
build/call_db.o \
build/peer_frame.o \
build/queue_frame.o \
build/bridge_frame.o \
build/agent_frame.o \
build/route_frame.o \
build/call_frame.o \
build/dial.o \
build/dial_db.o \
build/transfer.o \
build/transfer_db.o
ifeq ($(SANITIZE), 1)
CFLAGS += -fsanitize=address
endif
ifeq ($(DEBUG), 1)
CFLAGS += -DDEBUG -g -pg
endif
$(PROGRAM_NAME): $(OBJ)
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
$(DIR_OBJ)%.o: $(DIR_SRC)%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)peer/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)bridge/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)channel/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)agent/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)queue/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)frame/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)database/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)log/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)command_cli/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)settings/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)call/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)dial/%.c
$(CC) -c -o $@ $< $(CFLAGS)
$(DIR_OBJ)%.o: $(DIR_SRC)transfer/%.c
$(CC) -c -o $@ $< $(CFLAGS)
install: $(PROGRAM_NAME)
install -d $(DESTDIR)/etc/systemd/system/
install -d $(DESTDIR)/usr/sbin
install -m 0644 systemd/amid.service $(DESTDIR)/etc/systemd/system/amid.service
install -m 0600 etc/amid.conf $(DESTDIR)/etc/amid.conf
install -m 0750 amid $(DESTDIR)/usr/sbin/amid
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)/etc/systemd/system/amid.service
rm -f $(DESTDIR)/etc/amid.conf
rm -f $(DESTDIR)/usr/sbin/amid
$(info removido amid)
.PHONY: clean
clean:
rm -f build/*.o
rm -f amid