diff options
Diffstat (limited to 'contrib/conf-w32ce-msc/build.mk')
-rwxr-xr-x | contrib/conf-w32ce-msc/build.mk | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/contrib/conf-w32ce-msc/build.mk b/contrib/conf-w32ce-msc/build.mk new file mode 100755 index 0000000..b88ca43 --- /dev/null +++ b/contrib/conf-w32ce-msc/build.mk @@ -0,0 +1,158 @@ +# build.mk - Makefile to build libgpg-error using Visual-C +# Copyright 2010 g10 Code GmbH +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This file is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This is a helper make script to build libgpg-error for WindowsCE +# using the Microsoft Visual C compiler. + +# The target build directry where we run the Visual C compiler/ +# This needs to be an absolute directory name. +targetdir = /home/smb/xppro-gnu/src/libassuan + + +help: + @echo "Run " + @echo " make -f ../contrib/conf-w32ce-msc/build.mk copy-source" + @echo "on the POSIX system and then" + @echo " nmake -f build.mk all" + @echo "on the Windows system" + +ce_defines = -DWINCE -D_WIN32_WCE=0x502 -DUNDER_CE \ + -DWIN32_PLATFORM_PSPC -D_UNICODE -DUNICODE \ + -D_CONSOLE -DARM -D_ARM_ +#-D_DEBUG -DDEBUG + +# Some options of Visual-C: +# -W3 Set warning level 3 +# -Zi Generate debug info +# -Od Disable optimization +# -Gm Enable minimal rebuild (for C++) +# -EHsc Exception handling model sc +# -MTd Create a debug multithreaded executable +# -fp: Floating point behaviour +# -GR- Disable runtime type information +# -Os Favor small code +# -LD Create a DLL +# -Fe Set executable output name (may be only a directory) +CFLAGS = -nologo -W3 -fp:fast -Os $(ce_defines) \ + -DHAVE_CONFIG_H -DDLL_EXPORT -D_CRT_SECURE_NO_WARNINGS \ + -I. -Igpg-extra -I../libgpg-error + +LDFLAGS = + +# Standard source files +sources = \ + assuan.c \ + context.c \ + system.c \ + debug.c \ + conversion.c \ + sysutils.c \ + client.c \ + server.c \ + assuan-error.c \ + assuan-buffer.c \ + assuan-handler.c \ + assuan-inquire.c \ + assuan-listen.c \ + assuan-pipe-server.c \ + assuan-socket-server.c \ + assuan-pipe-connect.c \ + assuan-socket-connect.c \ + assuan-uds.c \ + assuan-logging.c \ + assuan-socket.c \ + system-w32ce.c \ + assuan-io.c \ + putc_unlocked.c \ + memrchr.c \ + stpcpy.c \ + setenv.c \ + vasprintf.c \ + assuan-defs.h \ + debug.h \ + libassuan.def + +# The object files we need to create from sources. +objs = \ + assuan.obj \ + context.obj \ + system.obj \ + debug.obj \ + conversion.obj \ + sysutils.obj \ + client.obj \ + server.obj \ + assuan-error.obj \ + assuan-buffer.obj \ + assuan-handler.obj \ + assuan-inquire.obj \ + assuan-listen.obj \ + assuan-pipe-server.obj \ + assuan-socket-server.obj \ + assuan-pipe-connect.obj \ + assuan-socket-connect.obj \ + assuan-uds.obj \ + assuan-logging.obj \ + assuan-socket.obj \ + system-w32ce.obj \ + assuan-io.obj \ + putc_unlocked.obj \ + memrchr.obj \ + stpcpy.obj \ + setenv.obj \ + vasprintf.obj + + +# Sources files in this directory inclduing this Makefile +conf_sources = \ + build.mk \ + config.h + +# Source files built by running the standard build system. +built_sources = \ + assuan.h + +copy-static-source: + @if [ ! -f ./assuan-defs.h ]; then \ + echo "Please cd to the src/ directory first"; \ + exit 1; \ + fi + cp -t $(targetdir) $(sources); + cd ../contrib/conf-w32ce-msc ; cp -t $(targetdir) $(conf_sources) + + +copy-built-source: + @if [ ! -f ./assuan.h ]; then \ + echo "Please build using ./autogen.sh --build-w32ce first"; \ + exit 1; \ + fi + cp -t $(targetdir) $(built_sources) + +copy-source: copy-static-source copy-built-source + + +.c.obj: + $(CC) $(CFLAGS) -c $< + +all: $(sources) $(conf_sources) $(built_sources) $(objs) + link /DLL /IMPLIB:libassuan-0-msc.lib \ + /OUT:libassuan-0-msc.dll \ + /DEF:libassuan.def /NOLOGO /MANIFEST:NO \ + /NODEFAULTLIB:"oldnames.lib" /DYNAMICBASE:NO \ + $(objs) \ + coredll.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib \ + commctrl.lib /subsystem:windowsce,5.02 + +# Note that install needs to be run on the POSIX platform and the all +# is only to make sure we build everything; it won't compile anything +# because Visual-C is probably not installed on that platform. +install: all + @echo fixme Install the files |