我有两个C文件,想在一个文件中编译它。一个文件是通过make命令编译的,另一个文件是Mysql数据库连接文件,它是由另一个命令编译的。
所以基本上我想将此数据库连接包含在我的主代码文件中。
mysql连接文件编译命令: -> gcc -o mysql_test $(mysql_config --cflags)mysql_test.c $(mysql_config --libs)
主代码编译命令: ->制作
make文件如下,
SHELL := /bin/bash
CC = gcc
CFLAGS = -Wall -Werror
SRCDIR = ./src/
BINDIR = ./bin/
OBJDIR = ./so/
SAMPLEDIR = ./ejemplo/
SYSOBJDIR = /usr/lib/
SYSINCLUDE = /usr/include/
ASTSOUNDDIR = /var/lib/asterisk/sounds/
ASTAGIBINDIR = /var/lib/asterisk/agi-bin/
all: $(OBJDIR)libagicapi.o $(OBJDIR)libagicapiutils.o
$(CC) $(CFLAGS) -fPIC -c -o $(OBJDIR)libagicapi.o $(SRCDIR)libagicapi.c
$(CC) $(CFLAGS) -fPIC -c -o $(OBJDIR)libagicapiutils.o $(SRCDIR)libagicapiutils.c
$(CC) $(CFLAGS) -fPIC -shared -o $(OBJDIR)libagicapi.so $(OBJDIR)libagicapi.o $(OBJDIR)libagicapiutils.o
clean:
$(RM) $(OBJDIR)*
$(RM) $(BINDIR)*
install: $(OBJDIR)libagicapi.so
install -m 0744 $(OBJDIR)libagicapi.so $(SYSOBJDIR)libagicapi.so
install -m 0744 $(SRCDIR)libagicapi.h $(SYSINCLUDE)libagicapi.h
sample: $(OBJDIR)libagicapi.so
$(CC) $(CFLAGS) -o $(BINDIR)libagicapisample $(SAMPLEDIR)ejemplo.c -lagicapi
mkdir -p $(ASTSOUNDDIR)/es/libagicapisample/ $(ASTSOUNDDIR)en/libagicapisample/
@echo "*------------------------------------*"
@echo "* Cree la siguiente Extension en *"
@echo "* su Plan de marcado *"
@echo "* *"
@echo "*exten => num,1,AGI(libagicapisample)*"
@echo "*------------------------------------*"
if id -u asterisk >/dev/null 2>&1; then\
install -m 0744 -o asterisk -g asterisk $(BINDIR)libagicapisample $(ASTAGIBINDIR)libagicapisample;\
install -m 0744 -o asterisk -g asterisk ./sound/es/menu.wav $(ASTSOUNDDIR)es/libagicapisample/menu.wav;\
install -m 0744 -o asterisk -g asterisk ./sound/en/menu.wav $(ASTSOUNDDIR)en/libagicapisample/menu.wav;\
else\
install -m 0744 $(BINDIR)libagicapisample $(ASTAGIBINDIR)libagicapisample;\
install -m 0744 ./sound/es/menu.wav $(ASTSOUNDDIR)es/libagicapisample/menu.wav;\
install -m 0744 ./sound/en/menu.wav $(ASTSOUNDDIR)en/libagicapisample/menu.wav;\
fi\
$(OBJDIR)libagicapi.o: $(SRCDIR)libagicapi.c $(SRCDIR)libagicapiutils.c
$(OBJDIR)libagicapiutils.o: $(SRCDIR)libagicapi.c $(SRCDIR)libagicapiutils.c
$(OBJDIR)libagicapi.so: $(SRCDIR)libagicapi.c $(SRCDIR)libagicapiutils.c
因此,我想将Mysql连接命令包括到此主make文件中,请对此进行指导。我如何将mysql编译命令放在上述make文件中。谢谢。