Link only a single .rc file with application.

diff --git a/programs/notepad/.cvsignore b/programs/notepad/.cvsignore
index 1d8f959..4a47377 100644
--- a/programs/notepad/.cvsignore
+++ b/programs/notepad/.cvsignore
@@ -8,3 +8,4 @@
 Pt.s
 Sw.s
 notepad
+rsrc.s
diff --git a/programs/notepad/Makefile.in b/programs/notepad/Makefile.in
index 74aeda3..defede0 100644
--- a/programs/notepad/Makefile.in
+++ b/programs/notepad/Makefile.in
@@ -6,29 +6,19 @@
 MODULE    = none
 PROGRAMS  = notepad
 ALL_LIBS  = $(WINELIB) $(X_LIBS) $(XLIB) $(LIBS)
-RCFLAGS   = -w32 -h
-WRCEXTRA  = -t -A -p $*
+WRCEXTRA  = -t -A -p notepad
 
-LANGUAGES   = En Da De Fr Sw Es Fi Wa Pt
 LICENSELANG = En
 
-MOSTSRCS = \
+C_SRCS = \
 	license.c \
 	main.c \
 	dialog.c \
 	language.c \
-	search.c
-
-# Some strings need addresses >= 0x10000
-STRINGSRCS = \
+	search.c \
 	$(LICENSELANG:%=License_%.c)
 
-RC_SRCS = $(LANGUAGES:%=%.rc)
-
-C_SRCS = $(MOSTSRCS) $(STRINGSRCS)
-
-MOSTOBJS = $(MOSTSRCS:.c=.o)
-STRINGOBJS = $(STRINGSRCS:.c=.o) $(RC_SRCS:.rc=.o)
+RC_SRCS = rsrc.rc
 
 all: check_wrc $(PROGRAMS)
 
@@ -40,21 +30,13 @@
 .rc.s:
 	$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -o $*.s
 
-.rc.h:
-	$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -nH $*.h
+notepad: $(OBJS) $(WINESTUB)
+	$(CC) -o notepad $(OBJS) $(LDOPTIONS) $(ALL_LIBS)
 
-
-notepad: $(MOSTOBJS) $(STRINGOBJS) $(WINESTUB)
-	$(CC) -o notepad $(MOSTOBJS) $(LDOPTIONS) $(ALL_LIBS) $(STRINGOBJS)
-
-install: dummy
+install:: dummy
 	$(INSTALL_PROGRAM) notepad $(bindir)/notepad
 
-uninstall: dummy
+uninstall:: dummy
 	$(RM) $(bindir)/notepad
 
-$(RC_SRCS:.rc=.s): $(WRC)
-
-dummy:
-
 ### Dependencies:
diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
index e4c9428..f8ebd36 100644
--- a/programs/notepad/dialog.c
+++ b/programs/notepad/dialog.c
@@ -5,6 +5,7 @@
  *  To be distributed under the Wine License
  */
 
+#include <assert.h>
 #include <stdio.h>
 #include <windows.h>
 #include <commdlg.h>
diff --git a/programs/notepad/main.c b/programs/notepad/main.c
index 388ba6c..b09bef3 100644
--- a/programs/notepad/main.c
+++ b/programs/notepad/main.c
@@ -17,22 +17,6 @@
 #include "dialog.h"
 #include "language.h"
 
-#if !defined(LCC) || defined(WINELIB)
-#include "shell.h"
-#endif
-
-#ifdef WINELIB
-#include "options.h"
-#include "resource.h"
-void LIBWINE_Register_Da();
-void LIBWINE_Register_De();
-void LIBWINE_Register_En();
-void LIBWINE_Register_Es();
-void LIBWINE_Register_Fi();
-void LIBWINE_Register_Fr();
-void LIBWINE_Register_Sw();
-#endif
-
 NOTEPAD_GLOBALS Globals;
 
 /***********************************************************************
@@ -158,17 +142,6 @@
     char className[] = "NPClass";  /* To make sure className >= 0x10000 */
     char winName[]   = "Notepad";
 
-    #if defined(WINELIB) && !defined(HAVE_WINE_CONSTRUCTOR)
-      /* Register resources */
-      LIBWINE_Register_Da();
-      LIBWINE_Register_De();
-      LIBWINE_Register_En();
-      LIBWINE_Register_Es();
-      LIBWINE_Register_Fi();
-      LIBWINE_Register_Fr();
-      LIBWINE_Register_Sw();
-    #endif
-
     /* Select Language */
     LANGUAGE_Init();
 
diff --git a/programs/notepad/main.h b/programs/notepad/main.h
index 47c4417..b42880e 100644
--- a/programs/notepad/main.h
+++ b/programs/notepad/main.h
@@ -85,12 +85,12 @@
 #define IDS_OUT_OF_MEMORY               STRINGID(0C)
 #define IDS_UNTITLED                    STRINGID(0D)
 
-#define IDS_PAGESETUP_HEADERVALUE       STRINGID(0D)
-#define IDS_PAGESETUP_FOOTERVALUE       STRINGID(0E)
-#define IDS_PAGESETUP_LEFTVALUE         STRINGID(0F)
-#define IDS_PAGESETUP_RIGHTVALUE        STRINGID(010)
-#define IDS_PAGESETUP_TOPVALUE          STRINGID(011)
-#define IDS_PAGESETUP_BOTTOMVALUE       STRINGID(012)
+#define IDS_PAGESETUP_HEADERVALUE       STRINGID(0E)
+#define IDS_PAGESETUP_FOOTERVALUE       STRINGID(0F)
+#define IDS_PAGESETUP_LEFTVALUE         STRINGID(10)
+#define IDS_PAGESETUP_RIGHTVALUE        STRINGID(11)
+#define IDS_PAGESETUP_TOPVALUE          STRINGID(12)
+#define IDS_PAGESETUP_BOTTOMVALUE       STRINGID(13)
 
 /* main menu */
 
diff --git a/programs/notepad/notepad.rc b/programs/notepad/notepad.rc
index 9d19d24..fa14a82 100644
--- a/programs/notepad/notepad.rc
+++ b/programs/notepad/notepad.rc
@@ -5,12 +5,6 @@
  *  To be distributed under the Wine License
  */
 
-#include "windows.h"
-#include "main.h"
- 
-#define CONCAT(a, b) CONCAT1(a, b)
-#define CONCAT1(a, b) a##b
-
 /* Main Menu */
 
 CONCAT(MENU_, LANGUAGE_ID) MENU
@@ -76,13 +70,13 @@
 
 GROUPBOX DIALOG_PAGESETUP_MARGIN,      NP_PAGESETUP_MARGIN,     10, 43,160, 45
 LTEXT    DIALOG_PAGESETUP_LEFT,        NP_PAGESETUP_LEFT_TXT,   20, 55, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_LEFTVALUE,   NP_PAGESETUP_LEFT,       50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_LEFTVALUE,*/   NP_PAGESETUP_LEFT,       50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
 LTEXT    DIALOG_PAGESETUP_TOP,         NP_PAGESETUP_TOP_TXT,    20, 73, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_TOPVALUE,    NP_PAGESETUP_TOP,        50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_TOPVALUE,*/    NP_PAGESETUP_TOP,        50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
 LTEXT    DIALOG_PAGESETUP_RIGHT,       NP_PAGESETUP_RIGHT_TXT, 100, 55, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_RIGHTVALUE,  NP_PAGESETUP_RIGHT,     130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_RIGHTVALUE,*/  NP_PAGESETUP_RIGHT,     130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
 LTEXT    DIALOG_PAGESETUP_BOTTOM,      NP_PAGESETUP_BOTTOM_TXT,100, 73, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_BOTTOMVALUE, NP_PAGESETUP_BOTTOM,    130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_BOTTOMVALUE,*/ NP_PAGESETUP_BOTTOM,    130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
 
 
 DEFPUSHBUTTON DIALOG_OK,         IDOK,                   180,  3, 40, 15, WS_TABSTOP
@@ -93,13 +87,6 @@
 
 /* Strings */
 
-#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str
-#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids)
-#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids
-
-#define STRINGIFY(str) STRINGIFY1(str)
-#define STRINGIFY1(str) #str
-
 #define STRING_LANGUAGE_ID        STRINGIFY(LANGUAGE_ID)
 #define STRING_LANGUAGE_MENU_ITEM LANGUAGE_MENU_ITEM
 
@@ -126,3 +113,76 @@
 ADDSTRING(PAGESETUP_TOPVALUE)
 ADDSTRING(PAGESETUP_BOTTOMVALUE)
 }
+
+
+/* Undefine all language-specific strings */
+
+#undef LANGUAGE_ID
+#undef LANGUAGE_NUMBER
+#undef LANGUAGE_MENU_ITEM
+
+#undef MENU_FILE
+#undef MENU_FILE_NEW
+#undef MENU_FILE_OPEN
+#undef MENU_FILE_SAVE
+#undef MENU_FILE_SAVEAS
+#undef MENU_FILE_PRINT
+#undef MENU_FILE_PAGESETUP
+#undef MENU_FILE_PRINTSETUP
+#undef MENU_FILE_EXIT
+#undef MENU_EDIT
+#undef MENU_EDIT_UNDO
+#undef MENU_EDIT_CUT
+#undef MENU_EDIT_COPY
+#undef MENU_EDIT_PASTE
+#undef MENU_EDIT_DELETE
+#undef MENU_EDIT_SELECTALL
+#undef MENU_EDIT_TIMEDATE
+#undef MENU_EDIT_WRAP
+#undef MENU_SEARCH
+#undef MENU_SEARCH_SEARCH
+#undef MENU_SEARCH_NEXT
+#undef MENU_LANGUAGE
+#undef MENU_HELP
+#undef MENU_HELP_CONTENTS
+#undef MENU_HELP_SEARCH
+#undef MENU_HELP_HELP_ON_HELP
+#undef MENU_INFO
+#undef MENU_INFO_LICENSE
+#undef MENU_INFO_NO_WARRANTY
+#undef MENU_INFO_ABOUT_WINE
+
+#undef DIALOG_OK
+#undef DIALOG_CANCEL
+#undef DIALOG_BROWSE
+#undef DIALOG_HELP
+#undef DIALOG_PAGESETUP_CAPTION
+#undef DIALOG_PAGESETUP_HEAD
+#undef DIALOG_PAGESETUP_TAIL
+#undef DIALOG_PAGESETUP_MARGIN
+#undef DIALOG_PAGESETUP_LEFT
+#undef DIALOG_PAGESETUP_RIGHT
+#undef DIALOG_PAGESETUP_TOP
+#undef DIALOG_PAGESETUP_BOTTOM
+
+#undef STRING_LANGUAGE_ID
+#undef STRING_LANGUAGE_MENU_ITEM
+#undef STRING_PAGESETUP_HEADERVALUE
+#undef STRING_PAGESETUP_FOOTERVALUE
+#undef STRING_PAGESETUP_LEFTVALUE
+#undef STRING_PAGESETUP_RIGHTVALUE
+#undef STRING_PAGESETUP_TOPVALUE
+#undef STRING_PAGESETUP_BOTTOMVALUE
+#undef STRING_NOTEPAD
+#undef STRING_ERROR
+#undef STRING_WARNING
+#undef STRING_INFO
+#undef STRING_UNTITLED
+#undef STRING_ALL_FILES
+#undef STRING_TEXT_FILES_TXT
+#undef STRING_TOOLARGE
+#undef STRING_NOTEXT
+#undef STRING_NOTSAVED
+#undef STRING_NOTFOUND
+#undef STRING_OUT_OF_MEMORY
+
diff --git a/programs/notepad/rsrc.rc b/programs/notepad/rsrc.rc
new file mode 100644
index 0000000..8db7d47
--- /dev/null
+++ b/programs/notepad/rsrc.rc
@@ -0,0 +1,24 @@
+
+#include "windows.h"
+#include "main.h"
+
+#define CONCAT(a, b) CONCAT1(a, b)
+#define CONCAT1(a, b) a##b
+
+#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str
+#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids)
+#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids
+
+#define STRINGIFY(str) STRINGIFY1(str)
+#define STRINGIFY1(str) #str
+
+#include "Da.rc"
+#include "De.rc"
+#include "En.rc"
+#include "Es.rc"
+#include "Fi.rc"
+#include "Fr.rc"
+#include "Pt.rc"
+#include "Sw.rc"
+#include "Wa.rc"
+