diff options
| author | Joakim Verona | 2011-02-05 11:23:09 +0100 |
|---|---|---|
| committer | Joakim Verona | 2011-02-05 11:23:09 +0100 |
| commit | 4bd51ad5c3445b644dfb017d5b57b10a90aa325f (patch) | |
| tree | 894801e7308ce4ecc34933f959e28f4b9cff9533 /lib-src/makefile.w32-in | |
| parent | 13cfe8df462ab8da9f0028e16cc84dcaceaca3d1 (diff) | |
| parent | 9bcaafce5351d270ac514e23cb69ff1a5fd35229 (diff) | |
| download | emacs-4bd51ad5c3445b644dfb017d5b57b10a90aa325f.tar.gz emacs-4bd51ad5c3445b644dfb017d5b57b10a90aa325f.zip | |
merge from upstream. currently seems to have bitroted and i get segfaults
Diffstat (limited to 'lib-src/makefile.w32-in')
| -rw-r--r-- | lib-src/makefile.w32-in | 90 |
1 files changed, 20 insertions, 70 deletions
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 25fb499cf3b..52d1cb5680a 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. | 1 | # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. |
| 2 | # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | 2 | # Copyright (C) 2000-2011 Free Software Foundation, Inc. |
| 3 | # 2009, 2010 Free Software Foundation, Inc. | ||
| 4 | 3 | ||
| 5 | # This file is part of GNU Emacs. | 4 | # This file is part of GNU Emacs. |
| 6 | 5 | ||
| @@ -18,15 +17,13 @@ | |||
| 18 | # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 17 | # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 18 | ||
| 20 | 19 | ||
| 21 | ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacsclient | 20 | ALL = make-docfile hexl ctags etags movemail ebrowse emacsclient |
| 22 | 21 | ||
| 23 | .PHONY: $(ALL) | 22 | .PHONY: $(ALL) |
| 24 | 23 | ||
| 25 | VERSION = 24.0.50 | ||
| 26 | |||
| 27 | LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ | 24 | LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ |
| 28 | -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ | 25 | -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../lib \ |
| 29 | -I../src | 26 | -I../nt/inc -I../src |
| 30 | 27 | ||
| 31 | LIBS = $(BASE_LIBS) $(ADVAPI32) | 28 | LIBS = $(BASE_LIBS) $(ADVAPI32) |
| 32 | 29 | ||
| @@ -36,10 +33,6 @@ $(BLD)/hexl.exe: $(BLD)/hexl.$(O) | |||
| 36 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS) | 33 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS) |
| 37 | $(BLD)/fakemail.exe: $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) | 34 | $(BLD)/fakemail.exe: $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) |
| 38 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) $(LIBS) | 35 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) $(LIBS) |
| 39 | $(BLD)/sorted-doc.exe: $(BLD)/sorted-doc.$(O) | ||
| 40 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/sorted-doc.$(O) $(LIBS) | ||
| 41 | $(BLD)/digest-doc.exe: $(BLD)/digest-doc.$(O) | ||
| 42 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/digest-doc.$(O) $(LIBS) | ||
| 43 | $(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O) | 36 | $(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O) |
| 44 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS) | 37 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS) |
| 45 | 38 | ||
| @@ -50,29 +43,24 @@ ebrowse: stamp_BLD $(BLD)/ebrowse.exe | |||
| 50 | hexl: stamp_BLD $(BLD)/hexl.exe | 43 | hexl: stamp_BLD $(BLD)/hexl.exe |
| 51 | movemail: stamp_BLD $(BLD)/movemail.exe | 44 | movemail: stamp_BLD $(BLD)/movemail.exe |
| 52 | fakemail: stamp_BLD $(BLD)/fakemail.exe | 45 | fakemail: stamp_BLD $(BLD)/fakemail.exe |
| 53 | sorted-doc: stamp_BLD $(BLD)/sorted-doc.exe | ||
| 54 | digest-doc: stamp_BLD $(BLD)/digest-doc.exe | ||
| 55 | emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe | 46 | emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe |
| 56 | 47 | ||
| 57 | test-distrib: stamp_BLD $(BLD)/test-distrib.exe | 48 | test-distrib: stamp_BLD $(BLD)/test-distrib.exe |
| 58 | "$(BLD)/test-distrib.exe" "$(SRC)/testfile" | 49 | "$(BLD)/test-distrib.exe" "$(SRC)/testfile" |
| 59 | 50 | ||
| 60 | GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O) | ||
| 61 | GETOPTDEPS = $(GETOPTOBJS) getopt.h | ||
| 62 | MOVEMAILOBJS = $(BLD)/movemail.$(O) \ | 51 | MOVEMAILOBJS = $(BLD)/movemail.$(O) \ |
| 63 | $(BLD)/pop.$(O) \ | 52 | $(BLD)/pop.$(O) \ |
| 64 | $(BLD)/ntlib.$(O) \ | 53 | ../lib/$(BLD)/libgnu.$(A) \ |
| 65 | $(GETOPTOBJS) | 54 | $(BLD)/ntlib.$(O) |
| 66 | 55 | ||
| 67 | $(BLD)/movemail.exe: $(MOVEMAILOBJS) getopt.h | 56 | $(BLD)/movemail.exe: $(MOVEMAILOBJS) ../lib/getopt.h |
| 68 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib | 57 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib |
| 69 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) | 58 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) |
| 70 | 59 | ||
| 71 | ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\"" | 60 | ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR |
| 72 | ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ | 61 | ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ |
| 73 | $(BLD)/getopt.$(O) \ | 62 | $(BLD)/ntlib.$(O) \ |
| 74 | $(BLD)/getopt1.$(O) \ | 63 | ../lib/$(BLD)/libgnu.$(A) |
| 75 | $(BLD)/ntlib.$(O) | ||
| 76 | CLIENTRES = ../nt/$(BLD)/emacsclient.res | 64 | CLIENTRES = ../nt/$(BLD)/emacsclient.res |
| 77 | 65 | ||
| 78 | $(CLIENTRES): ../nt/emacsclient.rc | 66 | $(CLIENTRES): ../nt/emacsclient.rc |
| @@ -87,14 +75,11 @@ $(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(CLIENTRES) | |||
| 87 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib | 75 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib |
| 88 | $(LINK) $(LINK_OUT)$@ $(CLIENTRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) | 76 | $(LINK) $(LINK_OUT)$@ $(CLIENTRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) |
| 89 | 77 | ||
| 90 | # emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in | 78 | $(BLD)/emacsclient.$(O): emacsclient.c |
| 91 | # can be edited to define VERSION string, which is part of ECLIENT_CFLAGS. | ||
| 92 | $(BLD)/emacsclient.$(O): emacsclient.c makefile.w32-in | ||
| 93 | $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c | 79 | $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c |
| 94 | 80 | ||
| 95 | ETAGSOBJ = $(BLD)/etags.$(O) \ | 81 | ETAGSOBJ = $(BLD)/etags.$(O) \ |
| 96 | $(BLD)/getopt.$(O) \ | 82 | ../lib/$(BLD)/libgnu.$(A) \ |
| 97 | $(BLD)/getopt1.$(O) \ | ||
| 98 | $(BLD)/ntlib.$(O) \ | 83 | $(BLD)/ntlib.$(O) \ |
| 99 | $(BLD)/regex.$(O) | 84 | $(BLD)/regex.$(O) |
| 100 | 85 | ||
| @@ -103,8 +88,7 @@ $(BLD)/etags.exe: $(ETAGSOBJ) | |||
| 103 | 88 | ||
| 104 | 89 | ||
| 105 | EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ | 90 | EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ |
| 106 | $(BLD)/getopt.$(O) \ | 91 | ../lib/$(BLD)/libgnu.$(A) \ |
| 107 | $(BLD)/getopt1.$(O) \ | ||
| 108 | $(BLD)/ntlib.$(O) | 92 | $(BLD)/ntlib.$(O) |
| 109 | 93 | ||
| 110 | $(BLD)/ebrowse.exe: $(EBROWSEOBJ) | 94 | $(BLD)/ebrowse.exe: $(EBROWSEOBJ) |
| @@ -114,13 +98,12 @@ $(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h | |||
| 114 | $(CC) $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ | 98 | $(CC) $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ |
| 115 | ../src/regex.c $(CC_OUT)$@ | 99 | ../src/regex.c $(CC_OUT)$@ |
| 116 | 100 | ||
| 117 | ETAGS_CFLAGS = -DHAVE_GETCWD | 101 | ETAGS_CFLAGS = -DHAVE_GETCWD -DEMACS_NAME="\"GNU Emacs\"" |
| 118 | $(BLD)/etags.$(O): etags.c | 102 | $(BLD)/etags.$(O): etags.c |
| 119 | $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c | 103 | $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c |
| 120 | 104 | ||
| 121 | CTAGSOBJ = $(BLD)/ctags.$(O) \ | 105 | CTAGSOBJ = $(BLD)/ctags.$(O) \ |
| 122 | $(BLD)/getopt.$(O) \ | 106 | ../lib/$(BLD)/libgnu.$(A) \ |
| 123 | $(BLD)/getopt1.$(O) \ | ||
| 124 | $(BLD)/ntlib.$(O) \ | 107 | $(BLD)/ntlib.$(O) \ |
| 125 | $(BLD)/regex.$(O) | 108 | $(BLD)/regex.$(O) |
| 126 | 109 | ||
| @@ -131,7 +114,7 @@ ctags.c: etags.c | |||
| 131 | - $(DEL) ctags.c | 114 | - $(DEL) ctags.c |
| 132 | $(CP) etags.c ctags.c | 115 | $(CP) etags.c ctags.c |
| 133 | 116 | ||
| 134 | CTAGS_CFLAGS = -DCTAGS $(ETAGS_CFLAGS) | 117 | CTAGS_CFLAGS = -DCTAGS $(ETAGS_CFLAGS) -DEMACS_NAME="\"GNU Emacs\"" |
| 135 | $(BLD)/ctags.$(O): ctags.c | 118 | $(BLD)/ctags.$(O): ctags.c |
| 136 | $(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c | 119 | $(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c |
| 137 | 120 | ||
| @@ -159,7 +142,7 @@ obj = dosfns.o msdos.o \ | |||
| 159 | syntax.o bytecode.o \ | 142 | syntax.o bytecode.o \ |
| 160 | process.o callproc.o unexw32.o \ | 143 | process.o callproc.o unexw32.o \ |
| 161 | region-cache.o sound.o atimer.o \ | 144 | region-cache.o sound.o atimer.o \ |
| 162 | doprnt.o strftime.o intervals.o textprop.o composite.o md5.o | 145 | doprnt.o intervals.o textprop.o composite.o md5.o |
| 163 | 146 | ||
| 164 | # | 147 | # |
| 165 | # These are the lisp files that are loaded up in loadup.el | 148 | # These are the lisp files that are loaded up in loadup.el |
| @@ -195,7 +178,6 @@ OTHER_PLATFORM_SUPPORT = \ | |||
| 195 | $(lispsource)term/pc-win.elc \ | 178 | $(lispsource)term/pc-win.elc \ |
| 196 | $(lispsource)x-dnd.elc \ | 179 | $(lispsource)x-dnd.elc \ |
| 197 | $(lispsource)term/x-win.elc \ | 180 | $(lispsource)term/x-win.elc \ |
| 198 | $(lispsource)emacs-lisp/easymenu.elc \ | ||
| 199 | $(lispsource)term/ns-win.elc | 181 | $(lispsource)term/ns-win.elc |
| 200 | 182 | ||
| 201 | 183 | ||
| @@ -335,8 +317,6 @@ install: $(INSTALL_FILES) | |||
| 335 | $(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin | 317 | $(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin |
| 336 | $(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin | 318 | $(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin |
| 337 | $(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin | 319 | $(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin |
| 338 | $(CP) $(BLD)/sorted-doc.exe $(INSTALL_DIR)/bin | ||
| 339 | $(CP) $(BLD)/digest-doc.exe $(INSTALL_DIR)/bin | ||
| 340 | $(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin | 320 | $(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin |
| 341 | $(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin | 321 | $(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin |
| 342 | - mkdir "$(INSTALL_DIR)/etc" | 322 | - mkdir "$(INSTALL_DIR)/etc" |
| @@ -350,7 +330,6 @@ install: $(INSTALL_FILES) | |||
| 350 | clean: | 330 | clean: |
| 351 | - $(DEL) DOC* $(COMPILER_TEMP_FILES) | 331 | - $(DEL) DOC* $(COMPILER_TEMP_FILES) |
| 352 | - $(DEL) ctags.c | 332 | - $(DEL) ctags.c |
| 353 | - $(DEL) getopt.h | ||
| 354 | - $(DEL_TREE) $(OBJDIR) | 333 | - $(DEL_TREE) $(OBJDIR) |
| 355 | - $(DEL) stamp_BLD | 334 | - $(DEL) stamp_BLD |
| 356 | - $(DEL) echolisp.tmp | 335 | - $(DEL) echolisp.tmp |
| @@ -375,9 +354,6 @@ cleanall: clean | |||
| 375 | echo $(CONFIG_H) has changed. Re-run configure.bat. | 354 | echo $(CONFIG_H) has changed. Re-run configure.bat. |
| 376 | exit -1 | 355 | exit -1 |
| 377 | 356 | ||
| 378 | getopt.h: getopt_.h | ||
| 379 | $(CP) $(ALL_DEPS) $@ | ||
| 380 | |||
| 381 | ### TAGS ### | 357 | ### TAGS ### |
| 382 | 358 | ||
| 383 | TAGS: $(BLD)/etags.exe *.c *.h | 359 | TAGS: $(BLD)/etags.exe *.c *.h |
| @@ -402,10 +378,7 @@ $(BLD)/ctags.$(O) : \ | |||
| 402 | $(EMACS_ROOT)/src/m/intel386.h \ | 378 | $(EMACS_ROOT)/src/m/intel386.h \ |
| 403 | $(EMACS_ROOT)/lib-src/../src/config.h \ | 379 | $(EMACS_ROOT)/lib-src/../src/config.h \ |
| 404 | $(SRC)/ntlib.h \ | 380 | $(SRC)/ntlib.h \ |
| 405 | $(SRC)/getopt.h | 381 | $(EMACS_ROOT)/lib/getopt.h |
| 406 | |||
| 407 | $(BLD)/digest-doc.$(O) : \ | ||
| 408 | $(SRC)/digest-doc.c | ||
| 409 | 382 | ||
| 410 | $(BLD)/emacsclient.$(O) : \ | 383 | $(BLD)/emacsclient.$(O) : \ |
| 411 | $(SRC)/emacsclient.c \ | 384 | $(SRC)/emacsclient.c \ |
| @@ -420,7 +393,7 @@ $(BLD)/etags.$(O) : \ | |||
| 420 | $(EMACS_ROOT)/src/m/intel386.h \ | 393 | $(EMACS_ROOT)/src/m/intel386.h \ |
| 421 | $(EMACS_ROOT)/lib-src/../src/config.h \ | 394 | $(EMACS_ROOT)/lib-src/../src/config.h \ |
| 422 | $(SRC)/ntlib.h \ | 395 | $(SRC)/ntlib.h \ |
| 423 | $(SRC)/getopt.h | 396 | $(EMACS_ROOT)/lib/getopt.h |
| 424 | 397 | ||
| 425 | $(BLD)/fakemail.$(O) : \ | 398 | $(BLD)/fakemail.$(O) : \ |
| 426 | $(SRC)/fakemail.c \ | 399 | $(SRC)/fakemail.c \ |
| @@ -437,21 +410,6 @@ $(BLD)/getdate.$(O) : \ | |||
| 437 | $(EMACS_ROOT)/src/config.h \ | 410 | $(EMACS_ROOT)/src/config.h \ |
| 438 | $(MSTOOLS_SYS)/types.h | 411 | $(MSTOOLS_SYS)/types.h |
| 439 | 412 | ||
| 440 | $(BLD)/getopt.$(O) : \ | ||
| 441 | $(SRC)/getopt.c \ | ||
| 442 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 443 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 444 | $(EMACS_ROOT)/src/config.h \ | ||
| 445 | $(SRC)/ntlib.h \ | ||
| 446 | $(SRC)/getopt.h | ||
| 447 | |||
| 448 | $(BLD)/getopt1.$(O) : \ | ||
| 449 | $(SRC)/getopt1.c \ | ||
| 450 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 451 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 452 | $(EMACS_ROOT)/src/config.h \ | ||
| 453 | $(SRC)/getopt.h | ||
| 454 | |||
| 455 | $(BLD)/hexl.$(O) : \ | 413 | $(BLD)/hexl.$(O) : \ |
| 456 | $(SRC)/hexl.c | 414 | $(SRC)/hexl.c |
| 457 | 415 | ||
| @@ -496,12 +454,6 @@ $(BLD)/profile.$(O) : \ | |||
| 496 | $(BLD)/qsort.$(O) : \ | 454 | $(BLD)/qsort.$(O) : \ |
| 497 | $(SRC)/qsort.c | 455 | $(SRC)/qsort.c |
| 498 | 456 | ||
| 499 | $(BLD)/sorted-doc.$(O) : \ | ||
| 500 | $(SRC)/sorted-doc.c \ | ||
| 501 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 502 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 503 | $(EMACS_ROOT)/src/config.h | ||
| 504 | |||
| 505 | $(BLD)/tcp.$(O) : \ | 457 | $(BLD)/tcp.$(O) : \ |
| 506 | $(SRC)/tcp.c | 458 | $(SRC)/tcp.c |
| 507 | 459 | ||
| @@ -519,9 +471,7 @@ $(BLD)/timer.$(O) : \ | |||
| 519 | # | 471 | # |
| 520 | $(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD | 472 | $(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD |
| 521 | 473 | ||
| 522 | $(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD | 474 | $(BLD)/test-distrib.$(O) $(MOVEMAILOBJS): stamp_BLD |
| 523 | |||
| 524 | $(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD | ||
| 525 | 475 | ||
| 526 | $(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD | 476 | $(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD |
| 527 | 477 | ||