QGIS/Makefile.win.rules.in
rblazek c2e3aad830 call linker twice
git-svn-id: http://svn.osgeo.org/qgis/trunk@5739 c8812cc2-4d05-0410-92ff-de0c093fc19c
2006-08-28 09:25:22 +00:00

85 lines
2.6 KiB
Makefile

MAJOR_VERSION = @MAJOR_VERSION@
MICRO_VERSION = @MICRO_VERSION@
MINOR_VERSION = @MINOR_VERSION@
CXX = @CXX@
LDFLAGS = @LDFLAGS@
STRIP = @STRIP@
INSTALL = @INSTALL@
prefix = @prefix@
BINDIR = $(prefix)
DLLDIR = $(prefix)
QT_LDADD = @QT_LDADD@
GDAL_LDADD = @GDAL_LDADD@
#GDAL_LDADD = -lgdal
GEOS_LDADD = @GEOS_LDADD@
GRASS_BASE = @GRASS_BASE@
GRASS_LIB = @GRASS_LIB@
PROJ_LIB = @PROJ_LIB@
PG_LIB = @PG_LIB@
PG_INC = @PG_INC@
RASTER_A = $(QGTOP)/src/raster/.libs/libqgis_raster.a
COMPOSER_A = $(QGTOP)/src/composer/.libs/libqgis_composer.a
PROJSEL_A = $(QGTOP)/src/widgets/projectionselector/.libs/libqgsprojectionselector.a
CORE_A = $(QGTOP)/src/core/.libs/libqgis_core.a
LEGEND_A = $(QGTOP)/src/legend/.libs/libqgis_legend.a
GUI_A = $(QGTOP)/src/gui/.libs/libqgis_gui.a
RASTER_DLL = -L $(QGTOP)/src/raster/ -lqgis_raster
COMPOSER_DLL = -L $(QGTOP)/src/composer/ -lqgis_composer
PROJSEL_DLL = -L $(QGTOP)/src/widgets/projectionselector/ -lqgis_projsel.dll
CORE_DLL = -L $(QGTOP)/src/core/ -lqgis_core
LEGEND_DLL = -L $(QGTOP)/src/legend/ -lqgis_legend
GUI_DLL = -L $(QGTOP)/src/gui -lqgis_gui
# The order is significant
QGLIBS = $(RASTER_A) $(COMPOSER_A) $(PROJSEL_A) $(CORE_A) $(LEGEND_A) $(GUI_A)
# For qgis.exe the QGIS libs must be twice because of circular references
QGIS_LIBS = $(QGLIBS) $(QGLIBS) \
$(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD) \
-lproj -lsqlite3 \
$(QT_LDADD) -lwsock32
# And for plugins even 3 times (maybe it would be possible to save
# something changing the order?)
PLUGIN_LIBS = $(GUI_DLL) $(RASTER_DLL) $(LEGEND_DLL) \
$(COMPOSER_DLL) $(PROJSEL_DLL) \
$(GDAL_LDADD) $(PG_LIB) $(GEOS_LDADD) \
-lproj -lsqlite3 \
$(QT_LDADD) -lwsock32
# Rule for subdirs using standard build system (make -f Makefile)
stdsubdirs:
@list='$(STDSUBDIRS)'; \
for subdir in $$list; do \
echo $$subdir ; \
$(MAKE) -C $$subdir || exit 1 ; \
done
# Rule for subdirs using standard win system (make -f Makefile.win)
# Warning: for some strange reason the output DLL library after first
# linking is corrupted. We have to delete the library
# and to call linker again.
winsubdirs:
@list='$(WINSUBDIRS)'; \
for subdir in $$list; do \
echo $$subdir ; \
$(MAKE) -C $$subdir -f Makefile.win || exit 1 ; \
rm -f $$subdir/.libs/*.dll; \
$(MAKE) -C $$subdir -f Makefile.win || exit 1 ; \
done
# Rule instalation (using WINSUBDIRS)
instsubdirs:
@list='$(WINSUBDIRS)'; \
for subdir in $$list; do \
echo $$subdir ; \
$(MAKE) -C $$subdir -f Makefile.win install || exit1 ; \
done