Mercurial > pidgin
diff libgaim/plugins/perl/common/Makefile.mingw @ 14192:60b1bc8dbf37
[gaim-migrate @ 16863]
Renamed 'core' to 'libgaim'
committer: Tailor Script <tailor@pidgin.im>
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Sat, 19 Aug 2006 01:50:10 +0000 |
| parents | |
| children | 8793fc8f7064 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgaim/plugins/perl/common/Makefile.mingw Sat Aug 19 01:50:10 2006 +0000 @@ -0,0 +1,142 @@ +# +# Makefile.mingw +# +# Description: Makefile for Gaim perl module. +# + +TARGET = Gaim +AUTOSPLIT = lib/auto/Gaim/autosplit.ix + +## +## TOOLS +## + +CC := gcc +PERL := /cygdrive/c/perl/bin/perl + +## +## PATHS +## + +EXTUTILS := C:/perl/lib/ExtUtils +GAIM_TOP := ../../.. +GTK_TOP := ../../../../win32-dev/gtk_2_0 +PERL_TOP := ../../../../win32-dev/perl58 +PERL_PLUGIN_TOP := .. +GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir +PERLMOD_INSTALL_DIR := $(GAIM_INSTALL_DIR)/perlmod + + +INCLUDE_PATHS = -I. \ + -I$(GAIM_TOP) \ + -I$(GAIM_TOP)/src \ + -I$(GTK_TOP)/include \ + -I$(GTK_TOP)/include/gtk-2.0 \ + -I$(GTK_TOP)/include/glib-2.0 \ + -I$(GTK_TOP)/include/pango-1.0 \ + -I$(GTK_TOP)/include/atk-1.0 \ + -I$(GTK_TOP)/lib/gtk-2.0/include \ + -I$(GTK_TOP)/lib/glib-2.0/include \ + -I$(PERL_TOP)/CORE + +LIB_PATHS = -L$(PERL_TOP) \ + -L$(PERL_PLUGIN_TOP) \ + -L$(GAIM_TOP)/src \ + -L$(GTK_TOP)/lib + + +## +## SOURCES, OBJECTS +## + +XS_FILES = Account.xs \ + AccountOpts.xs \ + BuddyIcon.xs \ + BuddyList.xs \ + Cipher.xs \ + Cmds.xs \ + Connection.xs \ + Conversation.xs \ + Debug.xs \ + FT.xs \ + Gaim.xs \ + ImgStore.xs \ + Log.xs \ + Network.xs \ + Notify.xs \ + Plugin.xs \ + PluginPref.xs \ + Pounce.xs \ + Prefs.xs \ + Privacy.xs \ + Proxy.xs \ + Prpl.xs \ + Request.xs \ + Roomlist.xs \ + SSLConn.xs \ + SavedStatuses.xs \ + Signal.xs \ + Server.xs \ + Sound.xs \ + Status.xs \ + Stringref.xs \ + Util.xs \ + XMLNode.xs \ + +FALLBACKS = const-c.inc const-xs.inc + +C_FILES = $(XS_FILES:%.xs=%.c) + +OBJECTS = $(C_FILES:%.c=%.o) + +## +## LIBRARIES +## + +LIBS = -lperl58 \ + -lperl \ + -lgaim \ + -lglib-2.0 + +## +## RULES +## + +# How to make a C file +%.o: %.c + $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ + +# How to make a XS file +%.c: %.xs + $(PERL) $(EXTUTILS)/xsubpp -typemap $(EXTUTILS)/typemap -typemap typemap $< > $@ + +%.inc: + cp fallback/$@ ./ + +## +## TARGETS +## + +.PHONY: all clean + +all: $(TARGET).dll $(AUTOSPLIT) + +install: + rm -rf $(PERLMOD_INSTALL_DIR) + cp -R lib $(PERLMOD_INSTALL_DIR) + cp $(TARGET).dll $(PERLMOD_INSTALL_DIR) + +$(AUTOSPLIT): Gaim.pm + mkdir -p ./lib/auto + cp Gaim.pm ./lib + $(PERL) -MAutoSplit -e 'autosplit("lib/Gaim.pm")' + +$(TARGET).dll: $(FALLBACKS) $(OBJECTS) + $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) -o $(TARGET).dll + +## +## CLEAN +## + +clean: + rm -rf *.o $(TARGET).dll $(FALLBACKS) lib
