win_pp.mak
author John Bailey <rekkanoryo@rekkanoryo.org>
Sun Aug 30 20:10:58 2009 -0400 (2009-08-30)
changeset 1046 93089a7ce7f6
parent 244 6ba2244767a5
child 1161 5f4a790f067d
permissions -rw-r--r--
Merge
     1 -include $(PP_TOP)/local.mak
     2 
     3 PIDGIN_TREE_TOP ?=	$(PP_TOP)/../../..
     4 GTK_TOP :=		$(PIDGIN_TREE_TOP)/../win32-dev/gtk_2_0
     5 DLL_ZIP_DIR :=		$(PP_TOP)/win32-dist
     6 
     7 PP_VERSION := $(shell cat ${PP_TOP}/VERSION)
     8 PP_CONFIG_H := $(PP_TOP)/pp_config.h
     9 
    10 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
    11 
    12 DEFINES += -DPP_VERSION=\"$(PP_VERSION)\"
    13 
    14 ##
    15 ## INCLUDE PATHS
    16 ##
    17 
    18 INCLUDE_PATHS +=	-I. \
    19 			-I$(GTK_TOP)/include \
    20 			-I$(GTK_TOP)/include/gtk-2.0 \
    21 			-I$(GTK_TOP)/include/glib-2.0 \
    22 			-I$(GTK_TOP)/include/pango-1.0 \
    23 			-I$(GTK_TOP)/include/atk-1.0 \
    24 			-I$(GTK_TOP)/include/freetype2 \
    25 			-I$(GTK_TOP)/lib/glib-2.0/include \
    26 			-I$(GTK_TOP)/lib/gtk-2.0/include \
    27 			-I$(PURPLE_TOP) \
    28 			-I$(PURPLE_TOP)/win32 \
    29 			-I$(PIDGIN_TOP) \
    30 			-I$(PIDGIN_TOP)/win32 \
    31 			-I$(PIDGIN_TREE_TOP)
    32 
    33 
    34 LIB_PATHS =		\
    35 			-L$(GTK_TOP)/lib \
    36 			-L$(PURPLE_TOP) \
    37 			-L$(PIDGIN_TOP)
    38 
    39 ##
    40 ##  SOURCES, OBJECTS
    41 ##
    42 
    43 PP_SRC ?= $(PP).c
    44 
    45 
    46 PP_OBJ = $(PP_SRC:%.c=%.o)
    47 
    48 ##
    49 ## LIBRARIES
    50 ##
    51 
    52 PLUGIN_LIBS = \
    53 	-lgtk-win32-2.0 \
    54 	-lgdk-win32-2.0 \
    55 	-lgdk_pixbuf-2.0 \
    56 	-lglib-2.0 \
    57 	-lpango-1.0 \
    58 	-lgmodule-2.0 \
    59 	-lgobject-2.0 \
    60 	-lws2_32 \
    61 	-lintl \
    62 	-lpurple \
    63 	-lpidgin
    64 
    65 ##
    66 ## RULES
    67 ##
    68 
    69 # How to make a C file
    70 %.o: %.c
    71 	$(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@
    72 
    73 ##
    74 ## TARGET DEFINITIONS
    75 ##
    76 
    77 .PHONY: all clean install install_zip
    78 
    79 all: $(PP).dll
    80 
    81 $(PP_CONFIG_H): $(PP_TOP)/pp_config.h.mingw
    82 	cp $(PP_TOP)/pp_config.h.mingw $(PP_CONFIG_H)
    83 
    84 $(DLL_ZIP_DIR):
    85 	mkdir -p $(DLL_ZIP_DIR)
    86 
    87 install: all $(PIDGIN_INSTALL_PLUGINS_DIR)
    88 	cp $(PP).dll $(PIDGIN_INSTALL_PLUGINS_DIR)
    89 
    90 install_zip: $(DLL_ZIP_DIR) all
    91 	cp $(PP).dll $(DLL_ZIP_DIR)
    92 
    93 $(PP_OBJ): $(PP_CONFIG_H) $(PURPLE_VERSION_H)
    94 
    95 ##
    96 ## BUILD DLL
    97 ##
    98 
    99 $(PP).dll: $(PP_OBJ) $(PURPLE_DLL).a $(PIDGIN_DLL).a
   100 	$(CC) -shared $(PP_OBJ) $(LIB_PATHS) $(PLUGIN_LIBS) $(DLL_LD_FLAGS) -o $(PP).dll
   101 
   102 
   103 ##
   104 ## CLEAN RULES
   105 ##
   106 
   107 clean:
   108 	rm -rf *.o
   109 	rm -rf $(PP).dll
   110 
   111 include $(PIDGIN_COMMON_TARGETS)