From: wdenk Date: Mon, 2 Apr 2001 19:55:34 +0000 (+0000) Subject: Make tools compile under Win32 (Cygwin Toolchain). X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=df8ceaedca482ec021a4e4125559e13ea4b6ec1e;p=users%2Frw%2Fppcboot.git Make tools compile under Win32 (Cygwin Toolchain). Patch by Stefan Roese, 28 Mar 2001 16:11:29 --- diff --git a/tools/Makefile.win32 b/tools/Makefile.win32 new file mode 100644 index 0000000..69dc44c --- /dev/null +++ b/tools/Makefile.win32 @@ -0,0 +1,37 @@ +# +# (C) Copyright 2001 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +CPPFLAGS = -Wall -pedantic -I../include -I.. -D__WIN32__ +CFLAGS = $(CPPFLAGS) -O + +all: mkimage.exe + +mkimage.exe: mkimage.o crc32.o + $(CC) -g $(CFLAGS) -o $@ $^ + +crc32.o: crc32.c + $(CC) -g $(CFLAGS) -c $< + +mkimage.o: mkimage.c + $(CC) -g $(CFLAGS) -c $< + diff --git a/tools/mkimage.c b/tools/mkimage.c index 6c86916..d28ef46 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -10,7 +10,9 @@ #include #include #include +#ifndef __WIN32__ #include /* for host / network byte order conversions */ +#endif #include #include #include @@ -20,6 +22,23 @@ #include #endif +#ifdef __WIN32__ +typedef unsigned int __u32; + +#define SWAP_LONG(x) \ + ((__u32)( \ + (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \ + (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ + (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ + (((__u32)(x) & (__u32)0xff000000UL) >> 24) )) +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; + +#define ntohl(a) SWAP_LONG(a) +#define htonl(a) SWAP_LONG(a) +#endif /* __WIN32__ */ + #include extern int errno; @@ -219,7 +238,11 @@ NXTARG: ; if (lflag) { ifd = open(imagefile, O_RDONLY); } else { +#ifdef __WIN32__ + ifd = open(imagefile, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666); +#else ifd = open(imagefile, O_RDWR|O_CREAT|O_TRUNC, 0666); +#endif } if (ifd < 0) {