view Makefile.in @ 2502:b6319aed3298

Android: Massive thread safety overhaul. Not quite back to fully functional. WebView is having many complaints about not being on the UI thread... better to get this figured out early... All UI calls will be wrapped in a waitOnUiThread() closure. This is our version of Android's runOnUiThread() except it waits for the closure to finish running so we can return results... and also so that our calls will be in the order desired in the application.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 06 May 2021 09:55:32 +0000
parents 2312b315ec20
children cfe1367ce58a
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) -d $(prefix)/share/dwtest/gtk; \
	$(INSTALL) dwtest $(prefix)/bin; \
	$(INSTALL) org.dbsoft.dwindows.dwtest.desktop $(prefix)/share/applications/; \
	$(INSTALL) image/test.png $(prefix)/share/dwtest/; \
	$(INSTALL) gtk/file.xpm $(prefix)/share/dwtest/gtk; \
	$(INSTALL) gtk/folder.xpm $(prefix)/share/dwtest/gtk

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
	rm -f $(prefix)/share/dwtest/test.png
	rm -f $(prefix)/share/dwtest/gtk/file.xpm
	rm -f $(prefix)/share/dwtest/gtk/folder.xpm

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))