1 # vim:set ts=8 sw=8 sts=8 noet:
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
15 # The Original Code is Mozilla Toolkit Crash Reporter
17 # The Initial Developer of the Original Code is
18 # Ted Mielczarek <ted.mielczarek@gmail.com>
20 # Portions created by the Initial Developer are Copyright (C) 2005
21 # the Initial Developer. All Rights Reserved.
25 # Alternatively, the contents of this file may be used under the terms of
26 # either the GNU General Public License Version 2 or later (the "GPL"), or
27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
37 # ***** END LICENSE BLOCK *****
41 topsrcdir
= @top_srcdir@
45 include $(DEPTH
)/config
/autoconf.mk
47 PROGRAM
= crashreporter
$(BIN_SUFFIX
)
48 DIST_PROGRAM
= crashreporter
$(BIN_SUFFIX
)
52 LOCAL_INCLUDES
= -I
$(srcdir)/..
/google-breakpad
/src
54 CPPSRCS
= crashreporter.
cpp
56 ifeq ($(OS_ARCH
),WINNT
)
57 CPPSRCS
+= crashreporter_win.
cpp
59 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/client
/windows
/sender
/$(LIB_PREFIX
)crash_report_sender_s.
$(LIB_SUFFIX
) \
60 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/common
/windows
/$(LIB_PREFIX
)breakpad_windows_common_s.
$(LIB_SUFFIX
) \
62 LOCAL_INCLUDES
+= -I
$(srcdir)
63 RCINCLUDE
= crashreporter.rc
64 DEFINES
+= -DUNICODE
-D_UNICODE
65 OS_LIBS
+= $(call EXPAND_LIBNAME
,comctl32 shell32 wininet shlwapi
)
69 ifeq ($(OS_ARCH
),Darwin
)
70 CMMSRCS
+= crashreporter_osx.mm
71 OS_LIBS
+= -framework Cocoa
73 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/client
/mac
/handler
/$(LIB_PREFIX
)exception_handler_s.
$(LIB_SUFFIX
) \
74 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/common
/mac
/$(LIB_PREFIX
)breakpad_mac_common_s.
$(LIB_SUFFIX
) \
77 LOCAL_INCLUDES
+= -I
$(srcdir) -I
$(srcdir)/..
/google-breakpad
/src
/common
/mac
/
80 ifeq ($(OS_ARCH
),Linux
)
81 CPPSRCS
+= crashreporter_linux.
cpp
83 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/common
/linux
/$(LIB_PREFIX
)breakpad_linux_common_s.
$(LIB_SUFFIX
) \
85 LOCAL_INCLUDES
+= -I
$(srcdir)
86 OS_CXXFLAGS
+= $(MOZ_GTK2_CFLAGS
) $(MOZ_GTHREAD_CFLAGS
)
87 OS_LIBS
+= $(MOZ_GTK2_LIBS
) $(MOZ_GTHREAD_LIBS
)
88 ifdef MOZ_ENABLE_GCONF
89 OS_CXXFLAGS
+= $(MOZ_GCONF_CFLAGS
)
90 OS_LIBS
+= $(MOZ_GCONF_LIBS
)
92 CPPSRCS
+= http_upload.
cc
96 ifeq ($(OS_ARCH
),SunOS
)
97 CPPSRCS
+= crashreporter_linux.
cpp
99 $(DEPTH
)/toolkit
/crashreporter
/google-breakpad
/src
/common
/solaris
/$(LIB_PREFIX
)breakpad_solaris_common_s.
$(LIB_SUFFIX
) \
101 LOCAL_INCLUDES
+= -I
$(srcdir)
102 OS_CXXFLAGS
+= $(MOZ_GTK2_CFLAGS
) $(MOZ_GTHREAD_CFLAGS
)
103 OS_LIBS
+= $(MOZ_GTK2_LIBS
) $(MOZ_GTHREAD_LIBS
)
104 ifdef MOZ_ENABLE_GCONF
105 OS_CXXFLAGS
+= $(MOZ_GCONF_CFLAGS
)
106 OS_LIBS
+= $(MOZ_GCONF_LIBS
)
108 CPPSRCS
+= http_upload.
cc
112 include $(topsrcdir
)/config
/rules.mk
114 ifeq ($(OS_ARCH
),Darwin
)
116 $(NSINSTALL
) -D
$(DIST
)/bin
/crashreporter.app
117 rsync
-a
-C
--exclude
"*.in" $(srcdir)/macbuild
/Contents
$(DIST
)/bin
/crashreporter.app
118 sed
-e
"s/%APP_NAME%/$(MOZ_APP_DISPLAYNAME)/" $(srcdir)/macbuild
/Contents
/Resources
/English.lproj
/InfoPlist.strings.in | \
119 iconv
-f UTF-8
-t UTF-16
> $(DIST
)/bin
/crashreporter.app
/Contents
/Resources
/English.lproj
/InfoPlist.strings
120 $(NSINSTALL
) -D
$(DIST
)/bin
/crashreporter.app
/Contents
/MacOS
121 $(NSINSTALL
) $(DIST
)/bin
/crashreporter
$(DIST
)/bin
/crashreporter.app
/Contents
/MacOS
122 rm -f
$(DIST
)/bin
/crashreporter
125 ifeq (,$(filter-out Linux SunOS
,$(OS_ARCH
)))
126 export:: $(srcdir)/..
/google-breakpad
/src
/common
/linux
/http_upload.
cc
129 libs
:: $(topsrcdir
)/toolkit
/themes
/winstripe
/global
/throbber
/Throbber-small.gif
130 $(INSTALL
) $^
$(DIST
)/bin