Mercurial > dwindows
view Makefile.in @ 2343:347b0f97c295
GTK3: Back port Wayland fixes from the GTK4 code.
Wayland can't draw to a widget outside of an expose event.
Any attempts to draw to a widget outside of an expose will mark the widget as dirty.
Calling dw_flush() will trigger expose events on all dirty widgets.
On X11 draw directly as we used to do, dirty list should remain empty.
This will allow code written with the assumption we can draw any time to function.
In the future, design code to only draw in the expose callback.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 04 Mar 2021 02:00:23 +0000 |
parents | 9f336ce185fd |
children | 8a12b4caf6b9 |
line wrap: on
line source
srcdir=@srcdir@ mandir=@mandir@ CC = @CC@ PLATCCFLAGS = @PLATCCFLAGS@ MLFLAGS = -L. include $(srcdir)/Version CCFLAGS = @CFLAGS@ $(PLATCCFLAGS) @ARCH@ -D@DW_DEFINE@ -DBUILD_DLL -DDW_RESOURCES -DVER_REV=$(VER_REV) LFLAGS = @LIBS@ @ARCH@ ARFLAGS = @ARFLAGS@ INSTALL = @INSTALL@ DW_SRC = @DW_SRC@ DW_DIR = @DW_DIR@ INCPATH = -I.. -I. -I$(srcdir) TARGET = @TARGET@ SRCS = $(srcdir)/$(DW_DIR)/$(DW_SRC) BROWSER_OBJECT=@BROWSER_OBJECT@ COMPAT_OBJECT =@COMPAT_OBJECT@ INSTALL_COMPAT=@INSTALL_COMPAT@ INSTALL_TEST =@INSTALL_TEST@ OBJECTS = dw.o $(BROWSER_OBJECT) SRCS2 = $(srcdir)dwcompat.c OBJECTS2= $(COMPAT_OBJECT) TARGET2= @TARGET2@ TARGETS = @TARGETS@ VER_MAJ = $(DW_MAJOR_VERSION) VER_MIN = $(DW_MINOR_VERSION) VER_REV = @SVNVERSION@ SOSUFFIX= @SOSUFFIX@ SONAME= @SONAME@ LIBPREFIX = @LIBPREFIX@ LIBSUFFIX = @LIBSUFFIX@ prefix = $(DESTDIR)@prefix@ SRCDIR=dwindows-$(VER_MAJ).$(VER_MIN) #.SUFFIXES: .c .h #.c.o: # $(CC) -c $(CCFLAGS) $(INCPATH) -o $@ $< # Link flags shared objects SYSCONF_LFLAGS_SHOBJ = @SHAREDFLAG@ # Linking shared libraries # - Build the $(TARGET) library, eg. lib$(TARGET).so.0.0 # - Usually needs to incorporate $(VER_MAJ) and $(VER_MIN) # SYSCONF_LINK_SHLIB = @CC@ SYSCONF_LINK_TARGET_SHARED = @SYSCONF_LINK_TARGET_SHARED@ SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ -o $(SYSCONF_LINK_TARGET_SHARED) \ $(OBJECTS) $(LFLAGS) $(SONAME); \ rm -f lib$(TARGET).$(SOSUFFIX) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ); \ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ) SYSCONF_LINK_TARGET_SHARED2 = @SYSCONF_LINK_TARGET_SHARED2@ SYSCONF_LINK_LIB_SHARED2 = $(SYSCONF_LINK_SHLIB) $(SYSCONF_LFLAGS_SHOBJ) \ -o $(SYSCONF_LINK_TARGET_SHARED2) \ $(OBJECTS2) $(LFLAGS); \ rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ ln -s $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) # Linking static libraries # - Build the $(TARGET) library, eg. lib$(TARGET).a # SYSCONF_AR = ar $(ARFLAGS) SYSCONF_LINK_TARGET_STATIC = @SYSCONF_LINK_TARGET_STATIC@ SYSCONF_LINK_LIB_STATIC = rm -f $(SYSCONF_LINK_TARGET_STATIC) ; \ $(SYSCONF_AR) $(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) ####### Build rules SYSCONF_LINK_TARGET = $(SYSCONF_LINK_TARGET_SHARED) SYSCONF_LINK_LIB = $(SYSCONF_LINK_LIB_SHARED) SYSCONF_LINK_TARGET2 = $(SYSCONF_LINK_TARGET_SHARED2) SYSCONF_LINK_LIB2 = $(SYSCONF_LINK_LIB_SHARED2) all: $(TARGETS) dwtest install: installbase $(INSTALL_COMPAT) $(INSTALL_TEST) installbase: $(SYSCONF_LINK_TARGET) $(INSTALL) -d $(prefix)/include; \ $(INSTALL) -d $(prefix)/lib; \ $(INSTALL) -d $(prefix)/bin; \ $(INSTALL) -d $(prefix)/share/man/man1; \ $(INSTALL) -d $(prefix)/lib/pkgconfig; \ $(INSTALL) $(srcdir)/dw.h $(prefix)/include; \ sed -e 's/@DW_MAJOR_VERSION@/'$(VER_MAJ)'/' -e 's/@DW_MINOR_VERSION@/'$(VER_MIN)'/' -e 's/@DW_SUB_VERSION@/'$(VER_REV)'/' < dwindows-config1 > dwindows-config $(INSTALL) dwindows-config $(prefix)/bin; \ sed -e 's/@VERSION@/'$(VER_MAJ).$(VER_MIN).$(VER_REV)'/' < dwindows1.pc > dwindows.pc $(INSTALL) dwindows.pc $(prefix)/lib/pkgconfig; \ $(INSTALL) $(srcdir)/dwindows-config.1 $(prefix)/share/man/man1; \ cd $(prefix)/share/man/man1; gzip -f -9 dwindows-config.1 $(INSTALL) $(SYSCONF_LINK_TARGET) $(prefix)/lib; \ cd $(prefix)/lib; \ rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ); \ ln -sf $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX); \ ln -sf $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).$(SOSUFFIX).$(VER_MAJ) installdwtest: dwtest $(INSTALL) -d $(prefix)/bin; \ $(INSTALL) -d $(prefix)/share/applications; \ $(INSTALL) dwtest $(prefix)/bin; \ $(INSTALL) org.dbsoft.dwindows.dwtest.desktop $(prefix)/share/applications/ installdwcompat: $(SYSCONF_LINK_TARGET2) $(INSTALL) -d $(prefix)/lib; \ $(INSTALL) $(SYSCONF_LINK_TARGET2) $(prefix)/lib; \ $(INSTALL) $(srcdir)/dwcompat.h $(prefix)/include; \ $(INSTALL) $(srcdir)/dwconfig.h $(prefix)/include; \ cd $(prefix)/lib; \ rm -f lib$(TARGET2).$(SOSUFFIX) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ); \ ln -sf $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX); \ ln -sf $(SYSCONF_LINK_TARGET_SHARED2) lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) uninstall: rm -f $(prefix)/lib/lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ) rm -f $(prefix)/lib/lib$(TARGET2).$(SOSUFFIX) rm -f $(prefix)/lib/lib$(TARGET2).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) rm -f $(prefix)/lib/lib$(TARGET).$(SOSUFFIX).$(VER_MAJ) rm -f $(prefix)/lib/lib$(TARGET).$(SOSUFFIX) rm -f $(prefix)/lib/lib$(TARGET).$(SOSUFFIX).$(VER_MAJ).$(VER_MIN) rm -f $(prefix)/lib/pkgconfig/dwindows.pc rm -f $(prefix)/bin/dwindows-config rm -f $(prefix)/bin/dwtest rm -f $(prefix)/include/dwcompat.h rm -f $(prefix)/include/dwconfig.h rm -f $(prefix)/include/dw.h rm -f $(prefix)/share/applications/org.dbsoft.dwindows.dwtest.desktop rm -f $(prefix)/share/man/man1/dwindows-config.1.gz deb: dist -rm -fr tmp -mkdir tmp (cd tmp;tar zxvf ../../$(srcdir)/$(SRCDIR).tar.gz;cd $(SRCDIR);dpkg-buildpackage -rfakeroot;cd ..;ls -l) distclean: clean rm -f config.status config.log dwconfig.h rm -f dwindows-config dwindows-config1 dwindows.pc dwindows1.pc rm -f org.dbsoft.dwindows.dwtest.desktop rm -f Makefile clean: rm -f *.$(SOSUFFIX) rm -f *.$(SOSUFFIX).* rm -f *.o rm -f *~ rm -f *.a rm -f $(DW_DIR)/*.o rm -f dwtest rm -rf dwtest.app $(SYSCONF_LINK_TARGET2): $(OBJECTS2) $(SYSCONF_LINK_LIB2) $(SYSCONF_LINK_TARGET): $(OBJECTS) $(SYSCONF_LINK_LIB) $(SYSCONF_LINK_TARGET_STATIC): $(OBJECTS) $(SYSCONF_LINK_LIB_STATIC) dw.o: $(srcdir)/$(DW_DIR)/$(DW_SRC) $(srcdir)/dw.h $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/$(DW_DIR)/$(DW_SRC) browser.o: $(srcdir)/$(DW_DIR)/browser.cpp $(srcdir)/dw.h $(CXX) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/$(DW_DIR)/browser.cpp dwcompat.o: $(srcdir)/dwcompat.c $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwcompat.c dwtest.o: $(srcdir)/dwtest.c $(srcdir)/dw.h $(CC) -c $(INCPATH) $(CCFLAGS) -o $@ $(srcdir)/dwtest.c dwtest: dwtest.o $(CC) -o dwtest dwtest.o $(MLFLAGS) -l$(TARGET) $(LFLAGS) -chmod +x $(srcdir)/mac/finishup.sh -$(srcdir)/mac/finishup.sh $(srcdir) zip: zip dwindows$(VER_MAJ)$(VER_MIN).zip $(srcdir)/license.txt $(srcdir)/makefile.* $(srcdir)/readme.txt $(srcdir)/*.c $(srcdir)/dw.h $(srcdir)/dwcompat.h \ $(srcdir)/win/*.def $(srcdir)/os2/*.def $(srcdir)/install.sh $(srcdir)/*.in $(srcdir)/configure \ $(srcdir)/ac*.m4 $(srcdir)/dwindows-config.1 $(srcdir)/Version \ $(srcdir)/gtk/*.c $(srcdir)/gtk/*.cpp $(srcdir)/win/*.c $(srcdir)/os2/*.c $(srcdir)/win/*.txt $(srcdir)/os2/*.txt \ $(srcdir)/gtk/*.xpm $(srcdir)/win/*.ico $(srcdir)/os2/*.ico $(srcdir)/mac/*.png \ $(srcdir)/mac/Info.plist $(srcdir)/mac/PkgInfo $(srcdir)/mac/*.m $(srcdir)/mac/finishup.sh \ $(srcdir)/platform/*.h \ $(srcdir)/debian/control $(srcdir)/debian/rules $(srcdir)/debian/copyright $(srcdir)/debian/compat $(srcdir)/debian/changelog dist: (cd $(srcdir)/..;ln -sf dwindows $(SRCDIR)) (cd $(srcdir)/..;tar -cvf - $(SRCDIR)/license.txt $(SRCDIR)/makefile.* $(SRCDIR)/readme.txt $(SRCDIR)/*.c $(SRCDIR)/dw.h $(SRCDIR)/dwcompat.h \ $(SRCDIR)/install.sh $(SRCDIR)/*.in $(SRCDIR)/configure $(SRCDIR)/Version \ $(SRCDIR)/ac*.m4 $(SRCDIR)/dwindows-config.1 $(SRCDIR)/config.sub $(SRCDIR)/config.guess $(SRCDIR)/image/test.* \ $(SRCDIR)/win/*.c $(SRCDIR)/win/*.cpp $(SRCDIR)/win/*.manifest $(SRCDIR)/win/*.txt $(SRCDIR)/win/*.def $(SRCDIR)/win/*.ico $(SRCDIR)/win/*.rc \ $(SRCDIR)/os2/*.c $(SRCDIR)/os2/*.txt $(SRCDIR)/os2/*.def $(SRCDIR)/os2/*.ico \ $(SRCDIR)/gtk/*.c $(SRCDIR)/gtk3/*.c $(SRCDIR)/gtk/*.xpm \ $(SRCDIR)/mac/Info.plist $(SRCDIR)/mac/PkgInfo $(SRCDIR)/mac/*.m $(SRCDIR)/mac/finishup.sh $(SRCDIR)/mac/*.png \ $(SRCDIR)/debian/control $(SRCDIR)/debian/rules $(SRCDIR)/debian/copyright $(SRCDIR)/debian/compat $(SRCDIR)/debian/changelog \ $(SRCDIR)/platform/*.h | gzip > $(SRCDIR).tar.gz ) (cd $(srcdir)/..;rm -f $(SRCDIR))