view Makefile.in @ 2283:0c88059df8e9

Add forwarder macros to the new names of the "query" functions. "Query" is nomenclature from the OS/2 roots of DW.. however GTK used the shorter and more concise "get" nomenclature. At some point in the future, probably the next major version the exported functions will switch to the "get" versions and the "query" versions will become deprecated macros.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 03 Feb 2021 20:55:51 +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))