X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0fa784572f2324fe246158d8eec9492fac604483..b5435dccd098ae153c3b7b3b8fca8dd0d763986c:/src/msw/makefile.g95 diff --git a/src/msw/makefile.g95 b/src/msw/makefile.g95 index 141ee90192..a0c1924acb 100644 --- a/src/msw/makefile.g95 +++ b/src/msw/makefile.g95 @@ -6,7 +6,6 @@ # Author: Julian Smart, Robert Roebling, Vadim Zeitlin # Created: 1993 # Updated: 1999 -# Copyright:(c) 1993, AIAI, University of Edinburgh, # Copyright:(c) 1999, Vadim Zeitlin # Copyright:(c) 1999, Robert Roebling # @@ -21,17 +20,19 @@ include $(WXDIR)/src/makeg95.env # DLL Name, if building wxWindows as a DLL. ifdef WXMAKINGDLL -WXDLL = $(WXDIR)/lib/wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).dll +WXDLL = $(WXDIR)/lib/wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT)$(MIN_SUFFIX).dll WXDEF = wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).def -DLL_EXTRA_LIBS = $(WXDIR)/lib/libzlib.a \ - $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a \ - $(WXDIR)/lib/libtiff.a $(WXDIR)/lib/libregex.a +DLL_EXTRA_LIBS = $(WXDIR)/lib/libzlib$(MIN_SUFFIX).a \ + $(WXDIR)/lib/libpng$(MIN_SUFFIX).a \ + $(WXDIR)/lib/libjpeg$(MIN_SUFFIX).a \ + $(WXDIR)/lib/libtiff$(MIN_SUFFIX).a \ + $(WXDIR)/lib/libregex$(MIN_SUFFIX).a DLL_LDFLAGS = -L$(WXDIR)/lib DLL_BASE_LDLIBS = $(DLL_EXTRA_LIBS) -lstdc++ -lwsock32 ifeq ($(wxUSE_GUI),0) DLL_LDLIBS = $(DLL_BASE_LDLIBS) else - DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \ + DLL_LDLIBS = -lcomctl32 -lctl3d32 -lole32 -loleaut32 \ -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \ $(DLL_BASE_LDLIBS) endif @@ -52,25 +53,22 @@ OLEDIR = $(WXDIR)/src/msw/ole MSWDIR = $(WXDIR)/src/msw REGEXDIR= $(WXDIR)/src/regex -ZLIBLIB = $(WXDIR)/lib/libzlib.a -PNGLIB = $(WXDIR)/lib/libpng.a -JPEGLIB = $(WXDIR)/lib/libjpeg.a -TIFFLIB = $(WXDIR)/lib/libtiff.a -REGEXLIB= $(WXDIR)/lib/libregex.a +ZLIBLIB = $(WXDIR)/lib/libzlib$(MIN_SUFFIX).a +PNGLIB = $(WXDIR)/lib/libpng$(MIN_SUFFIX).a +JPEGLIB = $(WXDIR)/lib/libjpeg$(MIN_SUFFIX).a +TIFFLIB = $(WXDIR)/lib/libtiff$(MIN_SUFFIX).a +REGEXLIB= $(WXDIR)/lib/libregex$(MIN_SUFFIX).a DOCDIR = $(WXDIR)/docs # Only use the WIN32 wxDirDialog if we have a recent # version of Mingw32 -ifeq ($(MINGW32),1) - ifneq "$(findstring 2.95, $(MINGW32VERSION))" "" +ifeq "$(strip $(RECENT_MINGW))" "yes" DIRDLGOBJ = $(MSWDIR)/dirdlg.$(OBJSUFF) - else - DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF) - endif else DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF) endif + ifeq ($(wxUSE_GUI),0) DIRDLGOBJ = endif @@ -94,11 +92,9 @@ GENERICOBJS = \ $(GENDIR)/numdlgg.$(OBJSUFF) \ $(GENDIR)/panelg.$(OBJSUFF) \ $(GENDIR)/progdlgg.$(OBJSUFF) \ - $(GENDIR)/prop.$(OBJSUFF) \ - $(GENDIR)/propform.$(OBJSUFF) \ - $(GENDIR)/proplist.$(OBJSUFF) \ $(GENDIR)/sashwin.$(OBJSUFF) \ $(GENDIR)/scrlwing.$(OBJSUFF) \ + $(GENDIR)/selstore.$(OBJSUFF) \ $(GENDIR)/spinctlg.$(OBJSUFF) \ $(GENDIR)/splash.$(OBJSUFF) \ $(GENDIR)/splitter.$(OBJSUFF) \ @@ -108,11 +104,10 @@ GENERICOBJS = \ $(GENDIR)/tipdlg.$(OBJSUFF) \ $(GENDIR)/tipwin.$(OBJSUFF) \ $(GENDIR)/treectlg.$(OBJSUFF) \ - $(GENDIR)/treelay.$(OBJSUFF) \ $(GENDIR)/wizard.$(OBJSUFF) COMMONOBJS_BASE = \ - $(COMMDIR)/appcmn.$(OBJSUFF) \ + $(COMMDIR)/appbase.$(OBJSUFF) \ $(COMMDIR)/clntdata.$(OBJSUFF) \ $(COMMDIR)/cmdline.$(OBJSUFF) \ $(COMMDIR)/config.$(OBJSUFF) \ @@ -133,7 +128,7 @@ COMMONOBJS_BASE = \ $(COMMDIR)/filefn.$(OBJSUFF) \ $(COMMDIR)/filename.$(OBJSUFF) \ $(COMMDIR)/filesys.$(OBJSUFF) \ - $(COMMDIR)/fontmap.$(OBJSUFF) \ + $(COMMDIR)/fmapbase.$(OBJSUFF) \ $(COMMDIR)/fs_inet.$(OBJSUFF) \ $(COMMDIR)/fs_mem.$(OBJSUFF) \ $(COMMDIR)/fs_zip.$(OBJSUFF) \ @@ -149,6 +144,7 @@ COMMONOBJS_BASE = \ $(COMMDIR)/memory.$(OBJSUFF) \ $(COMMDIR)/mimecmn.$(OBJSUFF) \ $(COMMDIR)/module.$(OBJSUFF) \ + $(COMMDIR)/msgout.$(OBJSUFF) \ $(COMMDIR)/mstream.$(OBJSUFF) \ $(COMMDIR)/object.$(OBJSUFF) \ $(COMMDIR)/process.$(OBJSUFF) \ @@ -159,13 +155,13 @@ COMMONOBJS_BASE = \ $(COMMDIR)/sckipc.$(OBJSUFF) \ $(COMMDIR)/sckstrm.$(OBJSUFF) \ $(COMMDIR)/socket.$(OBJSUFF) \ + $(COMMDIR)/stopwatch.$(OBJSUFF) \ $(COMMDIR)/strconv.$(OBJSUFF) \ $(COMMDIR)/stream.$(OBJSUFF) \ $(COMMDIR)/string.$(OBJSUFF) \ $(COMMDIR)/sysopt.$(OBJSUFF) \ $(COMMDIR)/textbuf.$(OBJSUFF) \ $(COMMDIR)/textfile.$(OBJSUFF) \ - $(COMMDIR)/timercmn.$(OBJSUFF) \ $(COMMDIR)/tokenzr.$(OBJSUFF) \ $(COMMDIR)/txtstrm.$(OBJSUFF) \ $(COMMDIR)/unzip.$(OBJSUFF) \ @@ -182,7 +178,8 @@ COMMONOBJS_BASEONLY = \ COMMONOBJS = \ $(COMMONOBJS_BASE) \ - $(COMMDIR)/y_tab.$(OBJSUFF) \ + $(COMMDIR)/accesscmn.$(OBJSUFF) \ + $(COMMDIR)/appcmn.$(OBJSUFF) \ $(COMMDIR)/artprov.$(OBJSUFF) \ $(COMMDIR)/artstd.$(OBJSUFF) \ $(COMMDIR)/choiccmn.$(OBJSUFF) \ @@ -193,6 +190,7 @@ COMMONOBJS = \ $(COMMDIR)/cshelp.$(OBJSUFF) \ $(COMMDIR)/ctrlcmn.$(OBJSUFF) \ $(COMMDIR)/ctrlsub.$(OBJSUFF) \ + $(COMMDIR)/datacmn.$(OBJSUFF) \ $(COMMDIR)/dbgrid.$(OBJSUFF) \ $(COMMDIR)/dcbase.$(OBJSUFF) \ $(COMMDIR)/dlgcmn.$(OBJSUFF) \ @@ -200,10 +198,13 @@ COMMONOBJS = \ $(COMMDIR)/dobjcmn.$(OBJSUFF) \ $(COMMDIR)/docmdi.$(OBJSUFF) \ $(COMMDIR)/docview.$(OBJSUFF) \ + $(COMMDIR)/dpycmn.$(OBJSUFF) \ $(COMMDIR)/dseldlg.$(OBJSUFF) \ $(COMMDIR)/effects.$(OBJSUFF) \ $(COMMDIR)/fddlgcmn.$(OBJSUFF) \ + $(COMMDIR)/fldlgcmn.$(OBJSUFF) \ $(COMMDIR)/fontcmn.$(OBJSUFF) \ + $(COMMDIR)/fontmap.$(OBJSUFF) \ $(COMMDIR)/framecmn.$(OBJSUFF) \ $(COMMDIR)/gaugecmn.$(OBJSUFF) \ $(COMMDIR)/gdicmn.$(OBJSUFF) \ @@ -233,18 +234,20 @@ COMMONOBJS = \ $(COMMDIR)/prntbase.$(OBJSUFF) \ $(COMMDIR)/quantize.$(OBJSUFF) \ $(COMMDIR)/radiocmn.$(OBJSUFF) \ - $(COMMDIR)/resource.$(OBJSUFF) \ + $(COMMDIR)/rgncmn.$(OBJSUFF) \ + $(COMMDIR)/settcmn.$(OBJSUFF) \ $(COMMDIR)/sizer.$(OBJSUFF) \ $(COMMDIR)/statbar.$(OBJSUFF) \ + $(COMMDIR)/taskbarcmn.$(OBJSUFF) \ $(COMMDIR)/tbarbase.$(OBJSUFF) \ $(COMMDIR)/textcmn.$(OBJSUFF) \ + $(COMMDIR)/timercmn.$(OBJSUFF) \ $(COMMDIR)/toplvcmn.$(OBJSUFF) \ $(COMMDIR)/treebase.$(OBJSUFF) \ $(COMMDIR)/valgen.$(OBJSUFF) \ $(COMMDIR)/validate.$(OBJSUFF) \ $(COMMDIR)/valtext.$(OBJSUFF) \ $(COMMDIR)/wincmn.$(OBJSUFF) \ - $(COMMDIR)/wxexpr.$(OBJSUFF) \ $(COMMDIR)/xpmdecod.$(OBJSUFF) HTMLOBJS = \ @@ -264,19 +267,20 @@ HTMLOBJS = \ $(HTMLDIR)/m_layout.$(OBJSUFF) \ $(HTMLDIR)/m_links.$(OBJSUFF) \ $(HTMLDIR)/m_list.$(OBJSUFF) \ - $(HTMLDIR)/m_meta.$(OBJSUFF) \ $(HTMLDIR)/m_pre.$(OBJSUFF) \ $(HTMLDIR)/m_style.$(OBJSUFF) \ $(HTMLDIR)/m_tables.$(OBJSUFF) \ $(HTMLDIR)/winpars.$(OBJSUFF) MSWOBJS_BASE = \ - $(MSWDIR)/dde.$(OBJSUFF) \ + $(MSWDIR)/basemsw.$(OBJSUFF) \ + $(MSWDIR)/dde.$(OBJSUFF) \ $(MSWDIR)/dir.$(OBJSUFF) \ $(MSWDIR)/gsocket.$(OBJSUFF) \ $(MSWDIR)/gsockmsw.$(OBJSUFF) \ $(MSWDIR)/main.$(OBJSUFF) \ $(MSWDIR)/mimetype.$(OBJSUFF) \ + $(MSWDIR)/mslu.$(OBJSUFF) \ $(MSWDIR)/regconf.$(OBJSUFF) \ $(MSWDIR)/registry.$(OBJSUFF) \ $(MSWDIR)/snglinst.$(OBJSUFF) \ @@ -302,7 +306,6 @@ MSWOBJS = \ $(MSWDIR)/colour.$(OBJSUFF) \ $(MSWDIR)/combobox.$(OBJSUFF) \ $(MSWDIR)/control.$(OBJSUFF) \ - $(MSWDIR)/curico.$(OBJSUFF) \ $(MSWDIR)/cursor.$(OBJSUFF) \ $(MSWDIR)/data.$(OBJSUFF) \ $(MSWDIR)/dc.$(OBJSUFF) \ @@ -313,7 +316,7 @@ MSWOBJS = \ $(MSWDIR)/dialog.$(OBJSUFF) \ $(MSWDIR)/dialup.$(OBJSUFF) \ $(MSWDIR)/dib.$(OBJSUFF) \ - $(MSWDIR)/dibutils.$(OBJSUFF) \ + $(MSWDIR)/display.$(OBJSUFF) \ $(MSWDIR)/dragimag.$(OBJSUFF) \ $(MSWDIR)/enhmeta.$(OBJSUFF) \ $(MSWDIR)/evtloop.$(OBJSUFF) \ @@ -333,6 +336,7 @@ MSWOBJS = \ $(MSWDIR)/helpwin.$(OBJSUFF) \ $(MSWDIR)/icon.$(OBJSUFF) \ $(MSWDIR)/imaglist.$(OBJSUFF) \ + $(MSWDIR)/iniconf.$(OBJSUFF) \ $(MSWDIR)/joystick.$(OBJSUFF) \ $(MSWDIR)/listbox.$(OBJSUFF) \ $(MSWDIR)/listctrl.$(OBJSUFF) \ @@ -342,13 +346,13 @@ MSWOBJS = \ $(MSWDIR)/metafile.$(OBJSUFF) \ $(MSWDIR)/minifram.$(OBJSUFF) \ $(MSWDIR)/msgdlg.$(OBJSUFF) \ - $(MSWDIR)/mslu.$(OBJSUFF) \ $(MSWDIR)/nativdlg.$(OBJSUFF) \ $(MSWDIR)/notebook.$(OBJSUFF) \ $(MSWDIR)/ownerdrw.$(OBJSUFF) \ $(MSWDIR)/palette.$(OBJSUFF) \ $(MSWDIR)/pen.$(OBJSUFF) \ $(MSWDIR)/penwin.$(OBJSUFF) \ + $(MSWDIR)/popupwin.$(OBJSUFF) \ $(MSWDIR)/printdlg.$(OBJSUFF) \ $(MSWDIR)/printwin.$(OBJSUFF) \ $(MSWDIR)/radiobox.$(OBJSUFF) \ @@ -373,6 +377,8 @@ MSWOBJS = \ $(MSWDIR)/tooltip.$(OBJSUFF) \ $(MSWDIR)/toplevel.$(OBJSUFF) \ $(MSWDIR)/treectrl.$(OBJSUFF) \ + $(MSWDIR)/utilsgui.$(OBJSUFF) \ + $(MSWDIR)/uxtheme.$(OBJSUFF) \ $(MSWDIR)/wave.$(OBJSUFF) \ $(MSWDIR)/window.$(OBJSUFF) @@ -380,7 +386,7 @@ ADVANCEDOBJS_BASE = \ ADVANCEDOBJS = \ $(ADVANCEDOBJS_BASE) \ - $(COMMDIR)/odbc.$(OBJSUFF) \ + $(MSWDIR)/ole/access.$(OBJSUFF) \ $(MSWDIR)/ole/automtn.$(OBJSUFF) \ $(MSWDIR)/ole/dataobj.$(OBJSUFF) \ $(MSWDIR)/ole/dropsrc.$(OBJSUFF) \ @@ -504,12 +510,8 @@ TIFFOBJS = $(TIFFDIR)/tif_aux.o \ $(TIFFDIR)/tif_write.o \ $(TIFFDIR)/tif_zip.o -ifeq ($(MINGW32),1) - ifneq "$(findstring 2.95, $(MINGW32VERSION))" "" - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) $(ADVANCEDOBJS) - else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) - endif +ifeq "$(strip $(RECENT_MINGW))" "yes" + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) $(ADVANCEDOBJS) else OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) endif @@ -517,20 +519,12 @@ ifeq ($(wxUSE_GUI),0) OBJECTS = $(MSWOBJS_BASE) $(COMMONOBJS_BASE) $(COMMONOBJS_BASEONLY) $(GENERICOBJS_BASE) endif -# MBN: if anyone has a better solution for this kludge, step -# forward, *please* -# this tests is we are on cygwin or not ( will _not_ work if you are using -# ZSH on plain Win32, tought ); it uses the presence of "/" -# in the PATH variable - # how do you do "VAR=\" ? BLEAGH! BACKSLASH=$(subst a,\,a) -ifeq (,$(findstring /,$(PATH))) - IS_CYGWIN=0 +ifeq (,$(findstring $(OSTYPE),"cygwin!msys")) PATH_SEPARATOR:=$(BACKSLASH) PATH_SUBST=/ else - IS_CYGWIN=1 PATH_SEPARATOR=/ PATH_SUBST:=$(BACKSLASH) endif @@ -550,9 +544,12 @@ $(ARCHINCDIR)/wx: mkdir $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(ARCHINCDIR)) mkdir $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(ARCHINCDIR)/wx) -$(SETUP_H): $(ARCHINCDIR)/wx - $(COPY) $(WXDIR)/include/wx/msw/setup.h $@ +# Copy ALWAYS uses forward slashes now. +$(SETUP_H): $(ARCHINCDIR)/wx $(WXDIR)/include/wx/msw/setup.h + $(COPY) $(WXDIR)/include/wx/msw/setup.h $(subst $(BACKSLASH),/,$@) + +# $(COPY) $(WXDIR)/include/wx/msw/setup.h $@ # $(COPY) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/include/wx/msw/setup.h) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$@) ifndef WXMAKINGDLL @@ -568,11 +565,12 @@ else ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes" $(WXDLL): $(OBJECTS) $(EXTRAOBJS) - $(CC) -shared -o $@ \ + $(CXX) -shared -o $@ \ -Wl,--output-def,$(WXDEF) \ -Wl,--out-implib,$(WXLIB) \ $(OBJECTS) $(EXTRAOBJS) \ - $(DLL_LDFLAGS) $(DLL_LDLIBS) + $(DLL_LDFLAGS) $(DLL_LDLIBS) \ + $(ALL_LDFLAGS_DLL) else ifeq ($(MINGW32),1) @@ -593,11 +591,11 @@ $(WXDEF) $(WXLIB): $(OBJECTS) $(EXTRAOBJS) $(OBJECTS) $(EXTRAOBJS) $(DLL_EXTRA_LIBS) $(WXDLL): $(OBJECTS) $(EXTRAOBJS) $(WXDEF) - $(CC) -mdll -Wl,--base-file,wx.base -s -o $@ $(LD_STUFF) + $(CC) -mdll -Wl,--base-file,wx.base -s -o $@ $(LD_STUFF) $(ALL_LDFLAGS_DLL) $(DLLTOOL) $(DLL_STUFF) - $(CC) -mdll -Wl,--base-file,wx.base wx.exp -s -o $@ $(LD_STUFF) + $(CC) -mdll -Wl,--base-file,wx.base wx.exp -s -o $@ $(LD_STUFF) $(ALL_LDFLAGS_DLL) $(DLLTOOL) $(DLL_STUFF) - $(CC) -mdll wx.exp -o $@ $(LD_STUFF) + $(CC) -mdll wx.exp -o $@ $(LD_STUFF) $(ALL_LDFLAGS_DLL) -$(RM) wx.base -$(RM) wx.exp @@ -623,56 +621,15 @@ $(TIFFLIB): $(TIFFOBJS) $(RANLIB) $@ $(REGEXLIB): - $(MAKE) -C $(REGEXDIR) -f makefile.g95 WXDIR=$(WXDIR) + $(MAKE) -C $(REGEXDIR) -f makefile.g95 MINGW32=$(MINGW32) WXDIR=$(WXDIR) WXWIN=$(WXDIR) $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(ARCHINCDIR)/wx/setup.h -$(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c - $(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c - -$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c - $(COPY) ../common/dosyacc.c ../common/y_tab.c - -$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c - $(COPY) ../common/doslex.c ../common/lex_yy.c - -# Replace lex with flex if you run into compilation -# problems with lex_yy.c. See also note about LEX_SCANNER -# above. -# $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l -# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l -# -# Try one of these if the above line doesn't work. -# Alternative syntax (1) -# $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c -# Alternative syntax (2) -# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l -# -# sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \ -# sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \ -# sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c -# rm -f lex.yy.c -# -# Replace yacc with bison if you run into compilation -# problems with y_tab.c. -# -# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y -# $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y -# -# If you use e.g. gcc on Unix, uncomment these lines -# and comment out the above. -# -# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y -# $(YACC) $(COMMDIR)/parser.y -# mv y.tab.c $(COMMDIR)/y_tab.c - clean: -$(RM) *.o -$(RM) ole/*.o -$(RM) *.bak -$(RM) core - -$(RM) ../common/y_tab.c - -$(RM) ../common/lex_yy.c -$(RM) ../common/*.o -$(RM) ../common/*.bak -$(RM) ../generic/*.o