Linking mailer and compose with a common library (libMailer)
This commit is contained in:
parent
e3b0c864e1
commit
16e68c7cdd
6
Makefile
6
Makefile
|
@ -62,14 +62,14 @@ dist:
|
|||
$(PACKAGE)-$(VERSION)/po/POTFILES \
|
||||
$(PACKAGE)-$(VERSION)/po/fr.po \
|
||||
$(PACKAGE)-$(VERSION)/po/project.conf \
|
||||
$(PACKAGE)-$(VERSION)/src/compose.c \
|
||||
$(PACKAGE)-$(VERSION)/src/compose-main.c \
|
||||
$(PACKAGE)-$(VERSION)/src/account.c \
|
||||
$(PACKAGE)-$(VERSION)/src/callbacks.c \
|
||||
$(PACKAGE)-$(VERSION)/src/compose.c \
|
||||
$(PACKAGE)-$(VERSION)/src/folder.c \
|
||||
$(PACKAGE)-$(VERSION)/src/mailer.c \
|
||||
$(PACKAGE)-$(VERSION)/src/main.c \
|
||||
$(PACKAGE)-$(VERSION)/src/message.c \
|
||||
$(PACKAGE)-$(VERSION)/src/compose-main.c \
|
||||
$(PACKAGE)-$(VERSION)/src/main.c \
|
||||
$(PACKAGE)-$(VERSION)/src/Makefile \
|
||||
$(PACKAGE)-$(VERSION)/src/account.h \
|
||||
$(PACKAGE)-$(VERSION)/src/callbacks.h \
|
||||
|
|
|
@ -8,3 +8,4 @@ Description: DeforaOS Desktop Mailer plug-ins
|
|||
Version: VERSION
|
||||
Requires: libDesktop
|
||||
Cflags: -I${includedir}
|
||||
Libs: -Wl,-R${libdir} -L${libdir} -lMailer
|
||||
|
|
83
src/Makefile
83
src/Makefile
|
@ -1,15 +1,18 @@
|
|||
SUBDIRS = account plugins
|
||||
TARGETS = compose mailer
|
||||
TARGETS = libMailer.a libMailer.so.0.0 libMailer.so.0 libMailer.so compose mailer
|
||||
PREFIX = /usr/local
|
||||
DESTDIR =
|
||||
BINDIR = $(PREFIX)/bin
|
||||
LIBDIR = $(PREFIX)/lib
|
||||
CC ?= cc
|
||||
CPPFLAGSF= -I ../include
|
||||
CPPFLAGS?=
|
||||
CFLAGSF = -W `pkg-config --cflags libSystem libDesktop`
|
||||
CFLAGSF = -W `pkg-config --cflags libDesktop`
|
||||
CFLAGS = -Wall -g -O2 -pedantic
|
||||
LDFLAGSF= `pkg-config --libs libSystem libDesktop`
|
||||
LDFLAGS =
|
||||
AR ?= ar
|
||||
RANLIB ?= ranlib
|
||||
CCSHARED?= $(CC) -shared
|
||||
BINDIR = $(PREFIX)/bin
|
||||
RM ?= rm -f
|
||||
LN ?= ln -f
|
||||
MKDIR ?= mkdir -p
|
||||
|
@ -21,55 +24,73 @@ all: subdirs $(TARGETS)
|
|||
subdirs:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE)) || exit; done
|
||||
|
||||
compose_OBJS = compose.o compose-main.o
|
||||
compose_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||
compose_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
|
||||
libMailer_OBJS = account.o callbacks.o compose.o folder.o mailer.o message.o
|
||||
libMailer_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) -fPIC
|
||||
libMailer_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) `pkg-config --libs libDesktop`
|
||||
|
||||
compose: $(compose_OBJS)
|
||||
libMailer.a: $(libMailer_OBJS)
|
||||
$(AR) -rc libMailer.a $(libMailer_OBJS)
|
||||
$(RANLIB) libMailer.a
|
||||
|
||||
libMailer.so.0.0 libMailer.so.0 libMailer.so: $(libMailer_OBJS)
|
||||
$(CCSHARED) -o libMailer.so.0.0 -Wl,-soname,libMailer.so.0 $(libMailer_OBJS) $(libMailer_LDFLAGS)
|
||||
$(LN) -s -- libMailer.so.0.0 libMailer.so.0
|
||||
$(LN) -s -- libMailer.so.0.0 libMailer.so
|
||||
|
||||
compose_OBJS = compose-main.o
|
||||
compose_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||
compose_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) `pkg-config --libs gtk+-2.0` -L . -Wl,-rpath,$(PREFIX)/lib -lMailer
|
||||
|
||||
compose: $(compose_OBJS) libMailer.so
|
||||
$(CC) -o compose $(compose_OBJS) $(compose_LDFLAGS)
|
||||
|
||||
mailer_OBJS = account.o callbacks.o folder.o mailer.o main.o message.o
|
||||
mailer_OBJS = main.o
|
||||
mailer_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||
mailer_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) compose.o
|
||||
mailer_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) `pkg-config --libs gtk+-2.0` -L . -Wl,-rpath,$(PREFIX)/lib -lMailer
|
||||
|
||||
mailer: $(mailer_OBJS) compose.o
|
||||
mailer: $(mailer_OBJS) libMailer.so
|
||||
$(CC) -o mailer $(mailer_OBJS) $(mailer_LDFLAGS)
|
||||
|
||||
account.o: account.c mailer.h message.h account.h ../config.h
|
||||
$(CC) -D PREFIX=\"$(PREFIX)\" $(libMailer_CFLAGS) -c account.c
|
||||
|
||||
callbacks.o: callbacks.c account.h callbacks.h compose.h mailer.h gtkassistant.c
|
||||
$(CC) $(libMailer_CFLAGS) -c callbacks.c
|
||||
|
||||
compose.o: compose.c callbacks.h mailer.h compose.h ../config.h
|
||||
$(CC) $(compose_CFLAGS) -c compose.c
|
||||
$(CC) $(libMailer_CFLAGS) -c compose.c
|
||||
|
||||
folder.o: folder.c mailer.h folder.h
|
||||
$(CC) $(libMailer_CFLAGS) -c folder.c
|
||||
|
||||
mailer.o: mailer.c account.h callbacks.h compose.h mailer.h ../config.h
|
||||
$(CC) -D PREFIX=\"$(PREFIX)\" $(libMailer_CFLAGS) -c mailer.c
|
||||
|
||||
message.o: message.c
|
||||
$(CC) $(libMailer_CFLAGS) -c message.c
|
||||
|
||||
compose-main.o: compose-main.c compose.h
|
||||
$(CC) $(compose_CFLAGS) -c compose-main.c
|
||||
|
||||
account.o: account.c mailer.h message.h account.h ../config.h
|
||||
$(CC) -D PREFIX=\"$(PREFIX)\" $(mailer_CFLAGS) -c account.c
|
||||
|
||||
callbacks.o: callbacks.c account.h callbacks.h compose.h mailer.h gtkassistant.c
|
||||
$(CC) $(mailer_CFLAGS) -c callbacks.c
|
||||
|
||||
folder.o: folder.c mailer.h folder.h
|
||||
$(CC) $(mailer_CFLAGS) -c folder.c
|
||||
|
||||
mailer.o: mailer.c account.h callbacks.h compose.h mailer.h ../config.h
|
||||
$(CC) -D PREFIX=\"$(PREFIX)\" $(mailer_CFLAGS) -c mailer.c
|
||||
|
||||
main.o: main.c mailer.h ../config.h
|
||||
$(CC) -D PREFIX=\"$(PREFIX)\" $(mailer_CFLAGS) -c main.c
|
||||
|
||||
message.o: message.c
|
||||
$(CC) $(mailer_CFLAGS) -c message.c
|
||||
|
||||
clean:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean) || exit; done
|
||||
$(RM) -- $(compose_OBJS) $(mailer_OBJS)
|
||||
$(RM) -- $(libMailer_OBJS) $(compose_OBJS) $(mailer_OBJS)
|
||||
|
||||
distclean:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) distclean) || exit; done
|
||||
$(RM) -- $(compose_OBJS) $(mailer_OBJS)
|
||||
$(RM) -- $(libMailer_OBJS) $(compose_OBJS) $(mailer_OBJS)
|
||||
$(RM) -- $(TARGETS)
|
||||
|
||||
install: $(TARGETS)
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) install) || exit; done
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL) -m 0644 -- libMailer.a $(DESTDIR)$(LIBDIR)/libMailer.a
|
||||
$(INSTALL) -m 0755 -- libMailer.so.0.0 $(DESTDIR)$(LIBDIR)/libMailer.so.0.0
|
||||
$(LN) -s -- libMailer.so.0.0 $(DESTDIR)$(LIBDIR)/libMailer.so.0
|
||||
$(LN) -s -- libMailer.so.0.0 $(DESTDIR)$(LIBDIR)/libMailer.so
|
||||
$(MKDIR) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL) -m 0755 -- compose $(DESTDIR)$(BINDIR)/compose
|
||||
$(MKDIR) $(DESTDIR)$(BINDIR)
|
||||
|
@ -77,6 +98,10 @@ install: $(TARGETS)
|
|||
|
||||
uninstall:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) uninstall) || exit; done
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/libMailer.a
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/libMailer.so.0.0
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/libMailer.so.0
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/libMailer.so
|
||||
$(RM) -- $(DESTDIR)$(BINDIR)/compose
|
||||
$(RM) -- $(DESTDIR)$(BINDIR)/mailer
|
||||
|
||||
|
|
|
@ -1,23 +1,31 @@
|
|||
subdirs=account,plugins
|
||||
targets=compose,mailer
|
||||
targets=libMailer,compose,mailer
|
||||
cppflags_force=-I ../include
|
||||
#cppflags=-D EMBEDDED
|
||||
cflags_force=-W `pkg-config --cflags libSystem libDesktop`
|
||||
cflags_force=-W `pkg-config --cflags libDesktop`
|
||||
cflags=-Wall -g -O2 -pedantic
|
||||
ldflags_force=`pkg-config --libs libSystem libDesktop`
|
||||
ldflags=
|
||||
dist=Makefile,account.h,callbacks.h,common.c,compose.h,folder.h,mailer.h,message.h,gtkassistant.c
|
||||
|
||||
[libMailer]
|
||||
type=library
|
||||
cflags=-fPIC
|
||||
ldflags=`pkg-config --libs libDesktop`
|
||||
sources=account.c,callbacks.c,compose.c,folder.c,mailer.c,message.c
|
||||
install=$(LIBDIR)
|
||||
|
||||
[compose]
|
||||
type=binary
|
||||
sources=compose.c,compose-main.c
|
||||
depends=libMailer.so
|
||||
sources=compose-main.c
|
||||
ldflags=`pkg-config --libs gtk+-2.0` -L . -Wl,-rpath,$(PREFIX)/lib -lMailer
|
||||
install=$(BINDIR)
|
||||
|
||||
[mailer]
|
||||
type=binary
|
||||
sources=account.c,callbacks.c,folder.c,mailer.c,main.c,message.c
|
||||
depends=compose.o
|
||||
ldflags=compose.o
|
||||
depends=libMailer.so
|
||||
sources=main.c
|
||||
ldflags=`pkg-config --libs gtk+-2.0` -L . -Wl,-rpath,$(PREFIX)/lib -lMailer
|
||||
install=$(BINDIR)
|
||||
|
||||
[account.c]
|
||||
|
|
Loading…
Reference in New Issue
Block a user