123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765 |
- # vim:ts=32:noet
- #
- # Makefile for Sylpheed-Claws / Win32 / GCC
- # - Win32/MinGW GCC 2.95/3.2
- # - Cygwin/MinGW GCC 2.95/3.2
- # - Linux/MinGW GCC 2.95/3.2
- # Before building, read the README-w32.txt and
- # 1. Create that directory structure
- # 2. Set DEBUGVERSION, GCCVERSION, CYGWIN according to your environment
- # 3. Call "make -f Make-ming.mak"
- # (use mingw32-make.exe for mingw-2.0.x)
- #
- # Note:
- # Although this makefile doesnt make use of the shell, building under cygwin
- # only works from inside cygwin's bash for me. Building with the standalone
- # MinGW compiler works from windows commandline as well as from rxvt shipped
- # with MSYS.
- #
- ################################################################################
- # DEBUGVERSION: set to 1 to include debugging symbols
- DEBUGVERSION=0
- # GCCVERSION: set to 3 if using gcc3.x (-fnative-struct | -mms-bitfields)
- GCCVERSION=2
- # CYGWIN: set to 1 if building from cygwin shell (-mno-cygwin)
- CYGWIN=0
- # CROSS: Cross comilation prefix
- #CROSS=i586-mingw32msvc-
- # PLUGINS: Plugins that should be built
- PLUGINS=demo.dll spamassassin.dll spamassassin_gtk.dll
- ################################################################################
- # directory strucure as in README-w32.txt
- LIBDIR =../../../lib
- INCLUDEDIR =../../../include
- GLIBDIR =$(INCLUDEDIR)/glib-2.0
- GTKROOTDIR =$(INCLUDEDIR)/gtk-2.0
- GTKDIR =$(GTKROOTDIR)/gtk
- GDKDIR =$(GTKROOTDIR)/gdk
- GLIBLIBINCDIR =$(LIBDIR)/glib-2.0/include
- GTKLIBINCDIR =$(LIBDIR)/gtk-2.0/include
- ATKDIR =$(INCLUDEDIR)/atk-1.0
- PANGOGDIR =$(INCLUDEDIR)/pango-1.0
- FREETYPEDIR =$(INCLUDEDIR)/freetype2
- LIBPNGDIR =$(INCLUDEDIR)/libpng12
- FNMATCHDIR =../../fnmatch
- GPGMEDIR =../../gpgme
- LIBCOMPFACEDIR =../../libcompface
- OPENSSLDIR =../../openssl
- REGEXDIR =../../regex
- W32LIBDIR =../../w32lib
- ROOTDIR =..
- SRCDIR =$(ROOTDIR)/src
- PODIR =$(ROOTDIR)/po
- SRCDIR_ESC =\.\.\/src\/
- ################################################################################
- ifeq ($(DEBUGVERSION),1)
- DEBUGFLAG=-g
- DEBUGDEF=-D_DEBUG
- APPNAME=sylpheed_d
- else
- NOCONSOLE=-mwindows
- # OPTIMIZATION=-O3
- APPNAME=sylpheed
- endif
- ifeq ($(GCCVERSION),3)
- # gcc-3.x: -mms-bitfields
- BITFIELD=-mms-bitfields
- else
- # gcc-2.x: -fnative-struct
- BITFIELD=-fnative-struct
- INTLFIX=-D_INTL_REDIRECT_INLINE
- endif
- ifeq ($(CYGWIN),1)
- # cygwin: built native w32 code
- NOCYGWIN=-mno-cygwin
- endif
- ################################################################################
- CC=$(CROSS)gcc
- RESCOMP=$(CROSS)windres
- FLEX=flex
- YACC=bison -y
- MSGFMT=msgfmt
- ICONV=iconv
- SED=sed
- CD=cd
- RM=rm
- ###
- VPATH=$(SRCDIR):$(SRCDIR)/common:$(SRCDIR)/gtk:$(PODIR):$(SRCDIR)/plugins/demo:$(SRCDIR)/plugins/spamassassin:$(SRCDIR)/plugins/pgpmime
- DEFINES=-DHAVE_CONFIG_H -DHAVE_BYTE_TYPEDEF $(INTLFIX) $(DEBUGDEF)
- EXTRALIBS=-lws2_32
- RESOURCE=appicon
- FLAGS=$(DEBUGFLAG) $(BITFIELD) $(NOCYGWIN) $(OPTIMIZATION)
- ### version
- CONFIGURE_AC=$(ROOTDIR)/configure.ac
- VERSION_H_IN=$(SRCDIR)/common/version.h.in
- VERSION_H=$(SRCDIR)/common/version.h
- PACKAGE=$(shell grep ^PACKAGE= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- MAJOR_VERSION=$(shell grep ^MAJOR_VERSION= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- MINOR_VERSION=$(shell grep ^MINOR_VERSION= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- MICRO_VERSION=$(shell grep ^MICRO_VERSION= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- EXTRA_VERSION=$(shell grep ^EXTRA_VERSION= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- EXTRA_WIN32_VERSION=$(shell grep ^EXTRA_WIN32_VERSION= $(CONFIGURE_AC)|sed -e "s/.*=//" -)
- ifeq ($(EXTRA_VERSION),0)
- VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRA_WIN32_VERSION)
- else
- VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)cvs$(EXTRA_VERSION)$(EXTRA_WIN32_VERSION)
- endif
- ### password encryption
- PASSCRYPT_KEY=passkey0
- PASSCRYPT_H=$(SRCDIR)/common/passcrypt.h
- PASSCRYPT_H_IN=$(PASSCRYPT_H).in
- ### bisonfiles
- # names of parser output files and escaped versions
- LEX_YY_C=lex.yy.c
- Y_TAB_C=y.tab.c
- Y_TAB_H=y.tab.h
- LEX_YY_C_ESC=lex\.yy\.c
- Y_TAB_C_ESC=y\.tab\.c
- Y_TAB_H_ESC=y\.tab\.h
- QUOTE_FMT=$(SRCDIR)/quote_fmt
- MATCHER_PARSER=$(SRCDIR)/matcher_parser
- QUOTE_FMT_TARGETS=$(QUOTE_FMT)_lex.c $(QUOTE_FMT)_parse.c $(QUOTE_FMT)_parse.h
- MATCHER_PARSER_TARGETS=$(MATCHER_PARSER)_lex.c $(MATCHER_PARSER)_parse.c $(MATCHER_PARSER)_parse.h
- ### translation
- MOFILES=bg.mo cs.mo de.mo el.mo en_GB.mo es.mo fr.mo hr.mo hu.mo it.mo ja.mo ko.mo nl.mo pl.mo pt_BR.mo ru.mo sk.mo sr.mo sv.mo zh_CN.mo zh_TW.Big5.mo
- MONAME=sylpheed.mo
- # avoid check for backslash, different shells need different escaping. yucc!
- CHARSET_RE=\(.*Content-Type: text\/plain; charset=\)\([-a-zA-Z0-9]*\)\(.*\)
- ### sylpheed
- INCLUDES= \
- -I. \
- -I$(SRCDIR) \
- -I$(SRCDIR)/common \
- -I$(SRCDIR)/gtk \
- -I$(INCLUDEDIR) \
- -I$(GLIBDIR) \
- -I$(GTKROOTDIR) \
- -I$(GTKDIR) \
- -I$(GDKDIR) \
- -I$(GLIBLIBINCDIR) \
- -I$(GTKLIBINCDIR) \
- -I$(ATKDIR) \
- -I$(PANGOGDIR) \
- -I$(FREETYPEDIR) \
- -I$(LIBPNGDIR) \
- -I$(W32LIBDIR)/src \
- APP_INCLUDES= \
- -I$(FNMATCHDIR)/src/posix \
- -I$(GPGMEDIR)/gpgme \
- -I$(LIBCOMPFACEDIR)/src \
- -I$(OPENSSLDIR)/src \
- -I$(REGEXDIR)/src
- CFLAGS=$(FLAGS) $(DEFINES) $(INCLUDES) $(APP_INCLUDES)
- PLUGIN_CFLAGS=$(FLAGS) $(DEFINES) $(INCLUDES)
- LIBS= \
- $(LIBDIR)/glib-2.0.lib \
- $(LIBDIR)/gmodule-2.0.lib \
- $(LIBDIR)/gobject-2.0.lib \
- $(LIBDIR)/gdk-win32-2.0.lib \
- $(LIBDIR)/gtk-win32-2.0.lib \
- $(LIBDIR)/pangowin32-1.0.lib \
- $(LIBDIR)/pango-1.0.lib \
- $(LIBDIR)/iconv.lib \
- $(LIBDIR)/intl.lib \
- $(LIBDIR)/libeay32.lib \
- $(LIBDIR)/ssleay32.lib \
- $(LIBDIR)/RSAglue.lib \
- $(LIBDIR)/libcrypt.lib \
- $(LIBDIR)/pthreadVC.lib \
- $(LIBDIR)/libjconv.lib \
- $(FNMATCHDIR)/fnmatch.lib \
- $(GPGMEDIR)/gpgme.lib \
- $(LIBCOMPFACEDIR)/libcompface.lib \
- $(REGEXDIR)/regex.lib \
- $(W32LIBDIR)/w32lib.lib
- OBJECTS= \
- about.o \
- account.o \
- action.o \
- addr_compl.o \
- addrbook.o \
- addrcache.o \
- addrcindex.o \
- addrclip.o \
- addressadd.o \
- addressbook.o \
- addrgather.o \
- addrharvest.o \
- addrindex.o \
- addritem.o \
- addrquery.o \
- addrselect.o \
- alertpanel.o \
- base64.o \
- codeconv.o \
- colorlabel.o \
- colorsel.o \
- compose.o \
- customheader.o \
- description_window.o \
- displayheader.o \
- editaddress.o \
- editbook.o \
- editgroup.o \
- editjpilot.o \
- editldap.o \
- editldap_basedn.o \
- editvcard.o \
- enriched.o \
- exphtmldlg.o \
- expldifdlg.o \
- export.o \
- exporthtml.o \
- exportldif.o \
- filtering.o \
- folder.o \
- folder_item_prefs.o \
- foldersel.o \
- foldersort.o \
- folderutils.o \
- folderview.o \
- grouplistdialog.o \
- gtkaspell.o \
- gtksctree.o \
- gtkshruler.o \
- gtkutils.o \
- gtkvscrollbutton.o \
- headerview.o \
- hooks.o \
- html.o \
- imap.o \
- imap_gtk.o \
- import.o \
- importldif.o \
- importmutt.o \
- importpine.o \
- inc.o \
- inputdialog.o \
- jpilot.o \
- ldapctrl.o \
- ldapquery.o \
- ldapserver.o \
- ldaputil.o \
- ldif.o \
- localfolder.o \
- log.o \
- logwindow.o \
- main.o \
- mainwindow.o \
- manage_window.o \
- manual.o \
- matcher.o \
- matcher_parser_lex.o \
- matcher_parser_parse.o \
- mbox.o \
- md5.o \
- menu.o \
- message_search.o \
- messageview.o \
- mgutils.o \
- mh.o \
- mh_gtk.o \
- mimeview.o \
- msgcache.o \
- mutt.o \
- news.o \
- news_gtk.o \
- nntp.o \
- noticeview.o \
- partial_download.o \
- passcrypt.o \
- pine.o \
- plugin.o \
- pluginwindow.o \
- pop.o \
- privacy.o \
- prefs.o \
- prefs_account.o \
- prefs_actions.o \
- prefs_common.o \
- prefs_customheader.o \
- prefs_display_header.o \
- prefs_ext_prog.o \
- prefs_filtering.o \
- prefs_filtering_action.o \
- prefs_folder_item.o \
- prefs_fonts.o \
- prefs_gtk.o \
- prefs_matcher.o \
- prefs_msg_colors.o \
- prefs_spelling.o \
- prefs_summary_column.o \
- prefs_template.o \
- prefs_themes.o \
- prefs_toolbar.o \
- prefs_wrapping.o \
- prefswindow.o \
- procheader.o \
- procmime.o \
- procmsg.o \
- progressdialog.o \
- progressindicator.o \
- quicksearch.o \
- quote_fmt.o \
- quote_fmt_lex.o \
- quote_fmt_parse.o \
- quoted-printable.o \
- recv.o \
- remotefolder.o \
- send_message.o \
- setup.o \
- simple-gettext.o \
- smtp.o \
- socket.o \
- sourcewindow.o \
- ssl.o \
- ssl_certificate.o \
- ssl_manager.o \
- sslcertwindow.o \
- statusbar.o \
- stock_pixmap.o \
- string_match.o \
- stringtable.o \
- summary_search.o \
- summaryview.o \
- syldap.o \
- sylpheed.o \
- sylpheed-marshal.o \
- template.o \
- textview.o \
- toolbar.o \
- undo.o \
- unmime.o \
- utils.o \
- uuencode.o \
- vcard.o \
- w32_aspell_init.o \
- w32_filesel.o \
- w32_mailcap.o \
- w32_session.o \
- wizard.o \
- xml.o \
- xmlprops.o \
- ### targets
- all: version_rc version bisonfiles compile translation
- compile: $(APPNAME).dll $(APPNAME).exe $(PLUGINS)
- version: $(VERSION_H)
- bisonfiles: $(QUOTE_FMT_TARGETS) $(MATCHER_PARSER_TARGETS)
- translation: $(MOFILES)
- version_rc: version.rc demo_version.rc spamassassin_version.rc pgpmime_version.rc image_viewer_version.rc
- ### version resource files
- version.rc.in: version.rc.in.in $(CONFIGURE_AC)
- echo a
- $(SED) -e "s/@MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@MINOR_VERSION@/$(MINOR_VERSION)/;s/@MICRO_VERSION@/$(MICRO_VERSION)/;s/@EXTRA_VERSION@/$(EXTRA_VERSION)/;" $< > $@
- version.rc: version.rc.in
- echo b
- $(SED) -e "s/@FILEDESCRIPTION@/Sylpheed-Claws/;s/@FILE_MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@FILE_MINOR_VERSION@/$(MINOR_VERSION)/;s/@FILE_MICRO_VERSION@/$(MICRO_VERSION)/;s/@FILE_EXTRA_VERSION@/$(EXTRA_VERSION)/" $< > $@
- demo_version.rc: version.rc.in
- echo c
- $(SED) -e "s/@FILEDESCRIPTION@/Demo-Plugin/;s/@FILE_MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@FILE_MINOR_VERSION@/$(MINOR_VERSION)/;s/@FILE_MICRO_VERSION@/$(MICRO_VERSION)/;s/@FILE_EXTRA_VERSION@/$(EXTRA_VERSION)/" $< > $@
- spamassassin_version.rc: version.rc.in
- echo d
- $(SED) -e "s/@FILEDESCRIPTION@/SpamAssassin-Plugin/;s/@FILE_MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@FILE_MINOR_VERSION@/$(MINOR_VERSION)/;s/@FILE_MICRO_VERSION@/$(MICRO_VERSION)/;s/@FILE_EXTRA_VERSION@/$(EXTRA_VERSION)/" $< > $@
- image_viewer_version.rc: version.rc.in
- echo e
- $(SED) -e "s/@FILEDESCRIPTION@/Image-Viewer-Plugin/;s/@FILE_MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@FILE_MINOR_VERSION@/$(MINOR_VERSION)/;s/@FILE_MICRO_VERSION@/$(MICRO_VERSION)/;s/@FILE_EXTRA_VERSION@/$(EXTRA_VERSION)/" $< > $@
- version.res: version.rc
- ### plugins
- ### pgpmime
- #plugin.o: plugin.c
- passphrase.o: passphrase.c passphrase.h
- pgpmime.o: pgpmime.c pgpmime.h
- prefs_gpg.o: prefs_gpg.c prefs_gpg.h
- select-keys.o: select-keys.c select-keys.h
- sgpgme.o: sgpgme.c sgpgme.h
- pgpmime_plugin.c:
- cp $(SRCDIR)/plugins/pgpmime/plugin.c $(SRCDIR)/plugins/pgpmime/$@
- pgpmime_plugin.o: $(SRCDIR)/plugins/pgpmime/pgpmime_plugin.c
- pgpmime_version.rc.o: pgpmime_version.rc
- $(RESCOMP) -i $< -o $@
- pgpmime_LIBS = $(APPNAME).dll $(GPGMEDIR)/gpgme.lib $(EXTRALIBS) $(LIBS)
- pgpmime_OBJECTS = \
- pgpmime_plugin.o \
- passphrase.o \
- pgpmime.o \
- prefs_gpg.o \
- select-keys.o \
- sgpgme.o \
- pgpmime_version.rc.o
- pgpmime.dll: $(pgpmime_OBJECTS)
- dlltool -D $@ -z $@.def --export-all-symbols --exclude-symbols WinMain@16 $(pgpmime_OBJECTS)
- $(CC) -mdll $(PLUGIN_CFLAGS) -o junk.tmp -Wl,--base-file,$@.base $(pgpmime_OBJECTS) $(pgpmime_LIBS)
- dlltool --dllname $@ --base-file $@.base --output-exp $@.exp --def $@.def
- $(CC) -mdll $(PLUGIN_CFLAGS) -o $@ $(pgpmime_OBJECTS) -Wl,$@.exp $(pgpmime_LIBS)
- -rm $@.base $@.exp $@.lib junk.tmp
- #$(CC) -shared $? $(APPNAME).dll $(LIBDIR)/intl.lib /dev/lib/libglib-2.0.dll.a /dev/lib/libgtk.dll.a -o $@
- pgpmime_clean:
- -rm $(pgpmime_OBJECTS)
- ### spamassassin
- spamassassin.o: spamassassin.c spamassassin.h
- libspamc.o: libspamc.c libspamc.h
- #utils.o: utils.c utils.h
- libspamc_utils.o: libspamc_utils.c $(SRCDIR)/plugins/spamassassin/utils.h
- $(CC) $(PLUGIN_CFLAGS) -c -o $@ $<
- libspamc_utils.c: libspamc_utils.h
- cp $(SRCDIR)/plugins/spamassassin/utils.c $@
- libspamc_utils.h:
- cp $(SRCDIR)/plugins/spamassassin/utils.h $@
- spamassassin_version.rc.o: spamassassin_version.rc
- $(RESCOMP) -i $< -o $@
- #spamassassin_LIBS = $(APPNAME).dll -lwsock32 $(EXTRALIBS) $(LIBS)
- spamassassin_LIBS = $(APPNAME).dll -lws2_32 $(windir)/system32/ws2_32.dll $(LIBS)
- spamassassin_OBJECTS = \
- spamassassin.o \
- libspamc.o \
- libspamc_utils.o \
- spamassassin_version.rc.o
- spamassassin.dll: libspamc_utils.c $(spamassassin_OBJECTS)
- dlltool -D $@ -z $@.def --export-all-symbols --exclude-symbols WinMain@16 $(spamassassin_OBJECTS)
- $(CC) -mdll -o junk.tmp -Wl,--base-file,$@.base $(spamassassin_OBJECTS) $(spamassassin_LIBS)
- dlltool --dllname $@ --base-file $@.base --output-exp $@.exp --def $@.def
- $(CC) -mdll -o $@ $(spamassassin_OBJECTS) -Wl,$@.exp $(spamassassin_LIBS)
- -rm $@.base $@.exp $@.lib junk.tmp
- #-rm $@.def $@.base $@.exp $@.lib junk.tmp
- #$(CC) -shared $? $(APPNAME).dll -lwsock32 /dev/lib/libglib-2.0.dll.a -o $@
- spamassassin_clean:
- -rm $(spamassassin_OBJECTS) libspamc_utils.c libspamc_utils.h libspamc_utils.o
- ### spamassassin (gui)
- spamassassin_gtk.o: spamassassin_gtk.c spamassassin.h
- spamassassin_gtk_LIBS = $(APPNAME).dll spamassassin.dll $(EXTRALIBS) $(LIBS)
- spamassassin_gtk_OBJECTS = \
- spamassassin_gtk.o \
- spamassassin_version.rc.o
- spamassassin_gtk.dll: $(spamassassin_gtk_OBJECTS)
- dlltool -D $@ -z $@.def --export-all-symbols --exclude-symbols WinMain@16 $(spamassassin_gtk_OBJECTS)
- $(CC) -mdll $(PLUGIN_CFLAGS) -o junk.tmp -Wl,--base-file,$@.base $(spamassassin_gtk_OBJECTS) $(spamassassin_gtk_LIBS)
- dlltool --dllname $@ --base-file $@.base --output-exp $@.exp --def $@.def
- $(CC) -mdll $(PLUGIN_CFLAGS) -o $@ $(spamassassin_gtk_OBJECTS) -Wl,$@.exp $(spamassassin_gtk_LIBS)
- -rm $@.base $@.exp $@.lib junk.tmp
- #$(CC) -shared $? $(APPNAME).dll spamassassin.dll $(LIBDIR)/intl.lib /dev/lib/libglib-2.0.dll.a /dev/lib/libgtk.dll.a -o $@
- spamassassin_gtk_clean:
- -rm $(spamassassin_gtk_OBJECTS)
- ### demo plugin
- demo.o: demo.c
- demo_version.rc.o: demo_version.rc
- $(RESCOMP) -i $< -o $@
- demo_LIBS = $(APPNAME).dll $(EXTRALIBS) $(LIBS)
- demo_OBJECTS = \
- demo.o \
- demo_version.rc.o
- demo.dll: $(demo_OBJECTS)
- dlltool -D $@ -z $@.def --export-all-symbols --exclude-symbols WinMain@16 $(demo_OBJECTS)
- $(CC) -mdll $(PLUGIN_CFLAGS) -o junk.tmp -Wl,--base-file,$@.base $(demo_OBJECTS) $(demo_LIBS)
- dlltool --dllname $@ --base-file $@.base --output-exp $@.exp --def $@.def
- $(CC) -mdll $(PLUGIN_CFLAGS) -o $@ $(demo_OBJECTS) -Wl,$@.exp $(demo_LIBS)
- -rm $@.base $@.exp $@.lib junk.tmp
- #$(CC) -shared demo.o $(APPNAME).dll /dev/lib/libglib-2.0.dll.a -o $@
- demo_clean:
- -rm demo.o
- ### sylpheed.dll (main)
- $(APPNAME).dll: $(OBJECTS) version.rc.o $(APPNAME).dll.def $(APPNAME).dll.base $(APPNAME).dll.exp #$(APPNAME).dll.lib
- $(CC) -mdll $(FLAGS) -o $@ $(OBJECTS) version.rc.o -Wl,$@.exp $(EXTRALIBS) $(LIBS)
- -rm $@.base $@.exp $@.lib junk.tmp
- $(APPNAME).dll.def:
- dlltool -D $(APPNAME).dll -z $@ --export-all-symbols --exclude-symbols WinMain@16 $(OBJECTS)
- $(APPNAME).dll.base:
- $(CC) -mdll $(FLAGS) -o junk.tmp -Wl,--base-file,$@ $(OBJECTS) $(EXTRALIBS) $(LIBS)
- $(APPNAME).dll.exp:
- dlltool --dllname $(APPNAME).dll --base-file $(APPNAME).dll.base --output-exp $@ --def $(APPNAME).dll.def
- $(APPNAME).dll.lib:
- dlltool -D main.dll -d main.def -l $@
- version.rc.o: version.rc
- $(RESCOMP) -i $< -o $@
- ### sylpheed.exe (loader)
- w32_loader.o: w32_loader.c
- loader_OBJECTS= w32_loader.o
- $(APPNAME).exe: $(loader_OBJECTS) $(RESOURCE).o
- $(CC) $(NOCONSOLE) $(FLAGS) -L. -l$(APPNAME) $? $(EXTRALIBS) $(LIBS) -o $@
- $(RESOURCE).o: $(RESOURCE).rc version.rc
- $(RESCOMP) -i $< -o $@
- ### version number
- $(VERSION_H): $(CONFIGURE_AC) $(VERSION_H_IN)
- echo Version: $(PACKAGE) $(VERSION)
- $(SED) -e "s/@PACKAGE@/$(PACKAGE)/;s/@VERSION@/$(VERSION)/;s/@MAJOR_VERSION@/$(MAJOR_VERSION)/;s/@MINOR_VERSION@/$(MINOR_VERSION)/;s/@MICRO_VERSION@/$(MICRO_VERSION)/;s/@EXTRA_VERSION@/$(EXTRA_VERSION)/;" \
- $(VERSION_H_IN) > $@
- ### password encryption
- $(PASSCRYPT_H): $(PASSCRYPT_H_IN)
- $(SED) -e "s/@PASSCRYPT_KEY@/$(PASSCRYPT_KEY)/" $(PASSCRYPT_H_IN) > $@
- ### translations
- %.mo: $(PODIR)/%.po
- @# change Content-Type to "utf-8" (needed for unix msgfmt)
- $(SED) -e "/$(CHARSET_RE)/ s/$(CHARSET_RE)/\1utf-8\3/; " $< > $(*F)-tmp.po
- @# convert to utf-8, extract unmodified charset from original .po
- $(ICONV) -f $(shell sed -n -e "/$(CHARSET_RE)/ {s/$(CHARSET_RE)/\2/;p;} " $<) -t utf-8 $(*F)-tmp.po > $(*F)-utf8.po
- @# create final .mo file
- $(MSGFMT) -o $@ $(*F)-utf8.po
- @# cleanup
- @-$(RM) $(*F)-tmp.po $(*F)-utf8.po
- ### parser generated
- %_lex.c: $(SRCDIR)/%_lex.l
- $(FLEX) $(SRCDIR)/$(*F)_lex.l
- $(SED) -e "s/$(SRCDIR_ESC)//;s/$(LEX_YY_C_ESC)/$(@F)/" $(LEX_YY_C) > $(SRCDIR)/$(*F)_lex.c
- %_parse.c %_parse.h: $(SRCDIR)/%_parse.y
- $(YACC) -d $(SRCDIR)/$(*F)_parse.y
- $(SED) -e "s/$(Y_TAB_C_ESC)/$(*F)_parse.c/" $(Y_TAB_C) > $(SRCDIR)/$(*F)_parse.c
- $(SED) -e "s/$(Y_TAB_H_ESC)/$(*F)_parse.h/" $(Y_TAB_H) > $(SRCDIR)/$(*F)_parse.h
- # hack: prevent autogeneration
- %_lex.l %_parse.y:
- @echo dummy:$@
- ### cleanup
- clean: demo_clean spamassassin_clean spamassassin_gtk_clean
- -$(RM) *.o $(APPNAME)
- -$(RM) $(LEX_YY_C) $(Y_TAB_C) $(Y_TAB_H)
- -$(CD) $(SRCDIR); $(RM) $(QUOTE_FMT_TARGETS) $(MATCHER_PARSER_TARGETS)
-
- ### dependencies
- # sylpheed
- about.o: about.c about.h
- account.o: account.c account.h
- action.o: action.c action.h
- addr_compl.o: addr_compl.c addr_compl.h
- addrbook.o: addrbook.c addrbook.h
- addrcache.o: addrcache.c addrcache.h
- addrcindex.o: addrcindex.c addrcindex.h
- addrclip.o: addrclip.c addrclip.h
- addressadd.o: addressadd.c addressadd.h
- addressbook.o: addressbook.c addressbook.h
- addrgather.o: addrgather.c addrgather.h
- addrharvest.o: addrharvest.c addrharvest.h
- addrindex.o: addrindex.c addrindex.h
- addritem.o: addritem.c addritem.h
- addrquery.o: addrquery.c addrquery.h
- addrselect.o: addrselect.c addrselect.h
- alertpanel.o: alertpanel.c alertpanel.h
- base64.o: base64.c base64.h
- codeconv.o: codeconv.c codeconv.h
- colorlabel.o: colorlabel.c colorlabel.h
- colorsel.o: colorsel.c colorsel.h
- compose.o: compose.c compose.h
- customheader.o: customheader.c customheader.h
- description_window.o: description_window.c description_window.h
- displayheader.o: displayheader.c displayheader.h
- editaddress.o: editaddress.c editaddress.h
- editbook.o: editbook.c editbook.h
- editgroup.o: editgroup.c editgroup.h
- editjpilot.o: editjpilot.c editjpilot.h
- editldap.o: editldap.c editldap.h
- editldap_basedn.o: editldap_basedn.c editldap_basedn.h
- editvcard.o: editvcard.c editvcard.h
- enriched.o: enriched.c enriched.h
- exphtmldlg.o: exphtmldlg.c exphtmldlg.h
- expldifdlg.o: expldifdlg.c expldifdlg.h
- export.o: export.c export.h
- exporthtml.o: exporthtml.c exporthtml.h
- exportldif.o: exportldif.c exportldif.h
- filtering.o: filtering.c filtering.h
- folder.o: folder.c folder.h
- folder_item_prefs.o: folder_item_prefs.c folder_item_prefs.h
- foldersel.o: foldersel.c foldersel.h
- foldersort.o: foldersort.c foldersort.h
- folderutils.o: folderutils.c folderutils.h
- folderview.o: folderview.c folderview.h
- grouplistdialog.o: grouplistdialog.c grouplistdialog.h
- gtkaspell.o: gtkaspell.c gtkaspell.h
- gtksctree.o: gtksctree.c gtksctree.h
- gtkshruler.o: gtkshruler.c gtkshruler.h
- gtkutils.o: gtkutils.c gtkutils.h
- gtkvscrollbutton.o: gtkvscrollbutton.c gtkvscrollbutton.h
- headerview.o: headerview.c headerview.h
- hooks.o: hooks.c hooks.h
- html.o: html.c html.h
- imap.o: imap.c imap.h
- imap_gtk.o: imap_gtk.c imap_gtk.h
- import.o: import.c import.h
- importldif.o: importldif.c importldif.h
- importmutt.o: importmutt.c importmutt.h
- importpine.o: importpine.c importpine.h
- inc.o: inc.c inc.h
- inputdialog.o: inputdialog.c inputdialog.h
- jpilot.o: jpilot.c jpilot.h
- ldapctrl.o: ldapctrl.c ldapctrl.h
- ldapquery.o: ldapquery.c ldapquery.h
- ldapserver.o: ldapserver.c ldapserver.h
- ldaputil.o: ldaputil.c ldaputil.h
- ldif.o: ldif.c ldif.h
- localfolder.o: localfolder.c localfolder.h
- log.o: log.c log.h
- logwindow.o: logwindow.c logwindow.h
- main.o: main.c main.h
- mainwindow.o: mainwindow.c mainwindow.h
- manage_window.o: manage_window.c manage_window.h
- manual.o: manual.c manual.h
- matcher.o: matcher.c matcher.h
- mbox.o: mbox.c mbox.h
- md5.o: md5.c md5.h
- menu.o: menu.c menu.h
- message_search.o: message_search.c message_search.h
- messageview.o: messageview.c messageview.h
- mgutils.o: mgutils.c mgutils.h
- mh.o: mh.c mh.h
- mh_gtk.o: mh_gtk.c mh_gtk.h
- mimeview.o: mimeview.c mimeview.h
- msgcache.o: msgcache.c msgcache.h
- mutt.o: mutt.c mutt.h
- news.o: news.c news.h
- news_gtk.o: news_gtk.c news_gtk.h
- nntp.o: nntp.c nntp.h
- noticeview.o: noticeview.c noticeview.h
- partial_download.o: partial_download.c partial_download.h
- passcrypt.o: passcrypt.c passcrypt.h
- pine.o: pine.c pine.h
- plugin.o: plugin.c plugin.h
- pluginwindow.o: pluginwindow.c pluginwindow.h
- pop.o: pop.c pop.h
- privacy.o: privacy.c privacy.h
- prefs.o: prefs.c prefs.h
- prefs_account.o: prefs_account.c prefs_account.h
- prefs_actions.o: prefs_actions.c prefs_actions.h
- prefs_common.o: prefs_common.c prefs_common.h
- prefs_customheader.o: prefs_customheader.c prefs_customheader.h
- prefs_display_header.o: prefs_display_header.c prefs_display_header.h
- prefs_ext_prog.o: prefs_ext_prog.c prefs_ext_prog.h
- prefs_filtering.o: prefs_filtering.c prefs_filtering.h
- prefs_filtering_action.o: prefs_filtering_action.c prefs_filtering_action.h
- prefs_folder_item.o: prefs_folder_item.c prefs_folder_item.h
- prefs_fonts.o: prefs_fonts.c prefs_fonts.h
- prefs_gtk.o: prefs_gtk.c prefs_gtk.h
- prefs_matcher.o: prefs_matcher.c prefs_matcher.h
- prefs_msg_colors.o: prefs_msg_colors.c prefs_msg_colors.h
- prefs_spelling.o: prefs_spelling.c prefs_spelling.h
- prefs_summary_column.o: prefs_summary_column.c prefs_summary_column.h
- prefs_template.o: prefs_template.c prefs_template.h
- prefs_themes.o: prefs_themes.c prefs_themes.h
- prefs_toolbar.o: prefs_toolbar.c prefs_toolbar.h
- prefs_wrapping.o: prefs_wrapping.c prefs_wrapping.h
- prefswindow.o: prefswindow.c prefswindow.h
- procheader.o: procheader.c procheader.h
- procmime.o: procmime.c procmime.h
- procmsg.o: procmsg.c procmsg.h
- progressdialog.o: progressdialog.c progressdialog.h
- progressindicator.o: progressindicator.c progressindicator.h
- quicksearch.o: quicksearch.c quicksearch.h
- quote_fmt.o: quote_fmt.c quote_fmt.h
- recv.o: recv.c recv.h
- remotefolder.o: remotefolder.c remotefolder.h
- send_message.o: send_message.c send_message.h
- setup.o: setup.c setup.h
- simple-gettext.o: simple-gettext.c
- smtp.o: smtp.c smtp.h
- socket.o: socket.c socket.h
- sourcewindow.o: sourcewindow.c sourcewindow.h
- ssl.o: ssl.c ssl.h
- ssl_certificate.o: ssl_certificate.c ssl_certificate.h
- ssl_manager.o: ssl_manager.c ssl_manager.h
- sslcertwindow.o: sslcertwindow.c sslcertwindow.h
- statusbar.o: statusbar.c statusbar.h
- stock_pixmap.o: stock_pixmap.c stock_pixmap.h
- string_match.o: string_match.c string_match.h
- stringtable.o: stringtable.c stringtable.h
- summary_search.o: summary_search.c summary_search.h
- summaryview.o: summaryview.c summaryview.h
- syldap.o: syldap.c syldap.h
- sylpheed.o: sylpheed.c sylpheed.h
- sylpheed-marshal.o: sylpheed-marshal.c sylpheed-marshal.h
- template.o: template.c template.h
- textview.o: textview.c textview.h
- toolbar.o: toolbar.c toolbar.h
- undo.o: undo.c undo.h
- unmime.o: unmime.c unmime.h
- utils.o: utils.c utils.h
- uuencode.o: uuencode.c uuencode.h
- vcard.o: vcard.c vcard.h
- wizard.o: wizard.c wizard.h
- xml.o: xml.c xml.h
- xmlprops.o: xmlprops.c xmlprops.h
- # bison / flex generated
- matcher_parser_lex.o: matcher_parser_lex.c matcher_parser_lex.h
- matcher_parser_parse.o: matcher_parser_parse.c matcher_parser_parse.h
- quote_fmt_lex.o: quote_fmt_lex.c quote_fmt_lex.h
- quote_fmt_parse.o: quote_fmt_parse.c quote_fmt_parse.h
- quoted-printable.o: quoted-printable.c quoted-printable.h
- # win32 additions
- w32_aspell_init.o: w32_aspell_init.c w32_aspell_init.h
- w32_filesel.o: w32_filesel.c w32_filesel.h filesel.h
- w32_mailcap.o: w32_mailcap.c w32_mailcap.h
- w32_session.o: w32_session.c w32_session.h session.h
|