X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6474416b2ec2a63ebc28548733d93bbe5aded70d..99a030f5ed9d062981dc33cd2b1b7eb878d26ebd:/distrib/msw/tmake/g95.t?ds=sidebyside diff --git a/distrib/msw/tmake/g95.t b/distrib/msw/tmake/g95.t index 95dad3b967..3ea3b709cc 100644 --- a/distrib/msw/tmake/g95.t +++ b/distrib/msw/tmake/g95.t @@ -16,7 +16,7 @@ #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations, #! so take the generic version if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) { - next unless $file =~ /^dirdlgg\./; + next #! unless $file =~ /^dirdlgg\./; } $file =~ s/cp?p?$/\$(OBJSUFF)/; @@ -89,6 +89,20 @@ WXDIR = ../.. # this central makefile. include $(WXDIR)/src/makeg95.env +# DLL Name, if building wxWindows as a DLL. +ifdef WXMAKINGDLL +WXDLL = $(WXDIR)/lib/wx$(WXVERSION).dll +WXDEF = wx$(WXVERSION).def +DLL_EXTRA_LIBS = $(WXDIR)/lib/libzlib.a \ + $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a \ + $(WXDIR)/lib/libxpm.a $(WXDIR)/lib/libtiff.a +DLL_LDFLAGS = -L$(WXDIR)/lib +DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \ + -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \ + -lwsock32 $(DLL_EXTRA_LIBS) \ + -lstdc++ +endif + # Subordinate library possibilities EXTRAOBJS= @@ -96,14 +110,33 @@ EXTRAOBJS= GENDIR = $(WXDIR)/src/generic COMMDIR = $(WXDIR)/src/common HTMLDIR = $(WXDIR)/src/html -XPMDIR = $(WXDIR)/src/xpm +ZLIBDIR = $(WXDIR)/src/zlib PNGDIR = $(WXDIR)/src/png JPEGDIR = $(WXDIR)/src/jpeg -ZLIBDIR = $(WXDIR)/src/zlib +XPMDIR = $(WXDIR)/src/xpm +TIFFDIR = $(WXDIR)/src/tiff OLEDIR = $(WXDIR)/src/msw/ole MSWDIR = $(WXDIR)/src/msw -DOCDIR = $(WXDIR)\docs +ZLIBLIB = $(WXDIR)/lib/libzlib.a +PNGLIB = $(WXDIR)/lib/libpng.a +JPEGLIB = $(WXDIR)/lib/libjpeg.a +XPMLIB = $(WXDIR)/lib/libxpm.a +TIFFLIB = $(WXDIR)/lib/libtiff.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))" "" + DIRDLGOBJ = $(MSWDIR)/dirdlg.$(OBJSUFF) + else + DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF) + endif +else + DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF) +endif GENERICOBJS = \ #$ ExpandList("WXGENERICOBJS"); @@ -203,50 +236,159 @@ JPEGOBJS = \ $(JPEGDIR)/jquant2.$(OBJSUFF) \ $(JPEGDIR)/jdmerge.$(OBJSUFF) -XPMOBJECTS = $(XPMDIR)/crbuffri.o\ - $(XPMDIR)/crdatfri.o\ - $(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\ - $(XPMDIR)/crifrdat.o\ +# NOTE: these filenames are case sensitive! +XPMOBJS = $(XPMDIR)/Attrib.o\ + $(XPMDIR)/CrBufFrI.o\ + $(XPMDIR)/CrDatFrI.o\ + $(XPMDIR)/create.o\ + $(XPMDIR)/CrIFrBuf.o\ + $(XPMDIR)/CrIFrDat.o\ $(XPMDIR)/data.o\ - $(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\ - $(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\ - $(XPMDIR)/rdftoi.o\ - $(XPMDIR)/rgb.o $(XPMDIR)/scan.o\ - $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\ - $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o - -OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(ADVANCEDOBJS) # $(XPMOBJECTS) + $(XPMDIR)/Image.o\ + $(XPMDIR)/Info.o\ + $(XPMDIR)/hashtab.o\ + $(XPMDIR)/misc.o\ + $(XPMDIR)/parse.o\ + $(XPMDIR)/RdFToDat.o\ + $(XPMDIR)/RdFToI.o\ + $(XPMDIR)/rgb.o\ + $(XPMDIR)/scan.o\ + $(XPMDIR)/simx.o\ + $(XPMDIR)/WrFFrDat.o\ + $(XPMDIR)/WrFFrI.o + +TIFFOBJS = $(TIFFDIR)/tif_aux.o \ + $(TIFFDIR)/tif_close.o \ + $(TIFFDIR)/tif_codec.o \ + $(TIFFDIR)/tif_compress.o \ + $(TIFFDIR)/tif_dir.o \ + $(TIFFDIR)/tif_dirinfo.o \ + $(TIFFDIR)/tif_dirread.o \ + $(TIFFDIR)/tif_dirwrite.o \ + $(TIFFDIR)/tif_dumpmode.o \ + $(TIFFDIR)/tif_error.o \ + $(TIFFDIR)/tif_fax3.o \ + $(TIFFDIR)/tif_fax3sm.o \ + $(TIFFDIR)/tif_flush.o \ + $(TIFFDIR)/tif_getimage.o \ + $(TIFFDIR)/tif_jpeg.o \ + $(TIFFDIR)/tif_luv.o \ + $(TIFFDIR)/tif_lzw.o \ + $(TIFFDIR)/tif_next.o \ + $(TIFFDIR)/tif_open.o \ + $(TIFFDIR)/tif_packbits.o \ + $(TIFFDIR)/tif_pixarlog.o \ + $(TIFFDIR)/tif_predict.o \ + $(TIFFDIR)/tif_print.o \ + $(TIFFDIR)/tif_read.o \ + $(TIFFDIR)/tif_strip.o \ + $(TIFFDIR)/tif_swab.o \ + $(TIFFDIR)/tif_thunder.o \ + $(TIFFDIR)/tif_tile.o \ + $(TIFFDIR)/tif_version.o \ + $(TIFFDIR)/tif_warning.o \ + $(TIFFDIR)/tif_win32.o \ + $(TIFFDIR)/tif_write.o \ + $(TIFFDIR)/tif_zip.o ifeq ($(MINGW32),1) - ifeq ($(MINGW32VERSION),2.95) - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS) + ifneq "$(findstring 2.95, $(MINGW32VERSION))" "" + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) $(ADVANCEDOBJS) else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) endif else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ) +endif + +ifndef WXMAKINGDLL +all: $(OBJECTS) $(WXLIB) $(ZLIBLIB) $(PNGLIB) $(JPEGLIB) $(XPMLIB) $(TIFFLIB) +else +all: $(OBJECTS) $(ZLIBLIB) $(PNGLIB) $(JPEGLIB) $(XPMLIB) $(TIFFLIB) $(WXDLL) endif -all: $(OBJECTS) $(WXLIB) +ifndef WXMAKINGDLL $(WXLIB): $(OBJECTS) $(EXTRAOBJS) ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS) $(RANLIB) $@ +else + +# The new linker is a few orders of magnitude faster than the old way +# of creating DLLs. +ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes" + +$(WXDLL): $(OBJECTS) $(EXTRAOBJS) + $(CC) -shared -o $@ \ + -Wl,--output-def,$(WXDEF) \ + -Wl,--out-implib,$(WXLIB) \ + $(OBJECTS) $(EXTRAOBJS) \ + $(DLL_LDFLAGS) $(DLL_LDLIBS) +else + +ifeq ($(MINGW32),1) + DLL_ENTRY = _DllMainCRTStartup@12 +else + DLL_ENTRY = __cygwin_dll_entry@12 +endif +LD_STUFF = $(OBJECTS) $(EXTRAOBJS) -Wl,-e,$(DLL_ENTRY) \ + $(DLL_LDFLAGS) $(DLL_LDLIBS) #-Wl,--image-base=0x66000000 + +DLL_STUFF = --as=$(AS) --dllname $(notdir $(WXDLL)) \ + --def $(WXDEF) \ + --base-file wx.base --output-exp wx.exp + +$(WXDEF) $(WXLIB): $(OBJECTS) $(EXTRAOBJS) + $(DLLTOOL) --output-def $@ --output-lib $(WXLIB) \ + --dllname $(notdir $(WXDLL)) \ + $(OBJECTS) $(EXTRAOBJS) $(DLL_EXTRA_LIBS) + +$(WXDLL): $(OBJECTS) $(EXTRAOBJS) $(WXDEF) + $(CC) -mdll -Wl,--base-file,wx.base -s -o $@ $(LD_STUFF) + $(DLLTOOL) $(DLL_STUFF) + $(CC) -mdll -Wl,--base-file,wx.base wx.exp -s -o $@ $(LD_STUFF) + $(DLLTOOL) $(DLL_STUFF) + $(CC) -mdll wx.exp -o $@ $(LD_STUFF) + -$(RM) wx.base + -$(RM) wx.exp + +endif + +endif + + +$(ZLIBLIB): $(ZLIBOBJS) + $(AR) $(AROPTIONS) $@ $(ZLIBOBJS) + $(RANLIB) $@ + +$(PNGLIB): $(PNGOBJS) + $(AR) $(AROPTIONS) $@ $(PNGOBJS) + $(RANLIB) $@ + +$(JPEGLIB): $(JPEGOBJS) + $(AR) $(AROPTIONS) $@ $(JPEGOBJS) + $(RANLIB) $@ + +$(XPMLIB): $(XPMOBJS) + $(AR) $(AROPTIONS) $@ $(XPMOBJS) + $(RANLIB) $@ + +$(TIFFLIB): $(TIFFOBJS) + $(AR) $(AROPTIONS) $@ $(TIFFOBJS) + $(RANLIB) $@ + + $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/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 + $(COPY) ../common/dosyacc.c ../common/y_tab.c $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c - copy ..\\common\doslex.c ..\\common\\lex_yy.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 @@ -280,20 +422,41 @@ $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.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 - -$(RM) ..\generic\*.bak - -$(RM) ..\html\*.o - -$(RM) ..\png\*.o - -$(RM) ..\png\*.bak - -$(RM) ..\zlib\*.o - -$(RM) ..\zlib\*.bak - -$(RM) ..\jpeg\*.o - -$(RM) ..\..\lib\libwx.a + -$(RM) ../common/y_tab.c + -$(RM) ../common/lex_yy.c + -$(RM) ../common/*.o + -$(RM) ../common/*.bak + -$(RM) ../generic/*.o + -$(RM) ../generic/*.bak + -$(RM) ../html/*.o + -$(RM) ../zlib/*.o + -$(RM) ../zlib/*.bak + -$(RM) ../png/*.o + -$(RM) ../png/*.bak + -$(RM) ../jpeg/*.o + -$(RM) ../jpeg/*.bak + -$(RM) ../xpm/*.o + -$(RM) ../xpm/*.bak + -$(RM) ../tiff/*.o + -$(RM) ../tiff/*.bak cleanall: clean + -$(RM) $(WXLIB) + -$(RM) $(ZLIBLIB) + -$(RM) $(PNGLIB) + -$(RM) $(JPEGLIB) + -$(RM) $(XPMLIB) + -$(RM) $(TIFFLIB) + +ifdef WXMAKINGDLL + -$(RM) $(WXDLL) + -$(RM) $(WXDEF) +ifneq "$(strip $(LD_SUPPORTS_SHARED))" "yes" + -$(RM) wx.base + -$(RM) wx.exp +endif +endif +