makefile.vc 4.45 KB
# $Id: makefile.vc 1543 2009-03-10 00:19:59Z mloskot $
#
# makefile.vc - builds PROJ.4 library with Visual C++
#
!INCLUDE ..\nmake.opt

azimuthal = \
	PJ_aeqd.obj PJ_gnom.obj PJ_laea.obj PJ_mod_ster.obj \
	PJ_nsper.obj PJ_nzmg.obj PJ_ortho.obj PJ_stere.obj PJ_sterea.obj \
	proj_rouss.obj

conic = \
	PJ_aea.obj PJ_bipc.obj PJ_bonne.obj PJ_eqdc.obj \
	PJ_imw_p.obj PJ_lcc.obj PJ_poly.obj \
	PJ_rpoly.obj PJ_sconics.obj PJ_lcca.obj

cylinder = \
	PJ_cass.obj PJ_cc.obj PJ_cea.obj PJ_eqc.obj \
	PJ_gall.obj PJ_labrd.obj PJ_lsat.obj PJ_merc.obj \
	PJ_mill.obj PJ_ocea.obj PJ_omerc.obj PJ_somerc.obj \
	PJ_tcc.obj PJ_tcea.obj PJ_tmerc.obj PJ_geos.obj PJ_gstmerc.obj

misc = \
	PJ_airy.obj PJ_aitoff.obj PJ_august.obj PJ_bacon.obj \
	PJ_chamb.obj PJ_hammer.obj PJ_lagrng.obj PJ_larr.obj \
	PJ_lask.obj PJ_nocol.obj PJ_ob_tran.obj PJ_oea.obj \
	PJ_tpeqd.obj PJ_vandg.obj PJ_vandg2.obj PJ_vandg4.obj \
	PJ_wag7.obj pj_latlong.obj PJ_krovak.obj pj_geocent.obj

pseudo = \
	PJ_boggs.obj PJ_collg.obj PJ_crast.obj PJ_denoy.obj \
	PJ_eck1.obj PJ_eck2.obj PJ_eck3.obj PJ_eck4.obj \
	PJ_eck5.obj PJ_fahey.obj PJ_fouc_s.obj PJ_gins8.obj \
	PJ_gn_sinu.obj PJ_goode.obj PJ_hatano.obj PJ_loxim.obj \
	PJ_mbt_fps.obj PJ_mbtfpp.obj PJ_mbtfpq.obj PJ_moll.obj \
	PJ_nell.obj PJ_nell_h.obj PJ_putp2.obj PJ_putp3.obj \
	PJ_putp4p.obj PJ_putp5.obj PJ_putp6.obj PJ_robin.obj \
	PJ_sts.obj PJ_urm5.obj PJ_urmfps.obj PJ_wag2.obj \
	PJ_wag3.obj PJ_wink1.obj PJ_wink2.obj

support = \
	aasincos.obj adjlon.obj bch2bps.obj bchgen.obj pj_gauss.obj \
	biveval.obj dmstor.obj mk_cheby.obj pj_auth.obj \
	pj_deriv.obj pj_ell_set.obj pj_ellps.obj pj_errno.obj \
	pj_factors.obj pj_fwd.obj pj_init.obj pj_inv.obj \
	pj_list.obj pj_malloc.obj pj_mlfn.obj pj_msfn.obj \
	pj_open_lib.obj pj_param.obj pj_phi2.obj pj_pr_list.obj \
	pj_qsfn.obj pj_strerrno.obj pj_tsfn.obj pj_units.obj \
	pj_zpoly1.obj rtodms.obj vector1.obj pj_release.obj \
	geocent.obj pj_transform.obj pj_datum_set.obj pj_datums.obj \
	pj_apply_gridshift.obj nad_cvt.obj nad_init.obj \
	nad_intr.obj pj_utils.obj pj_gridlist.obj pj_gridinfo.obj \
	proj_mdist.obj pj_mutex.obj pj_initcache.obj

LIBOBJ	=	$(support) $(pseudo) $(azimuthal) $(conic) $(cylinder) $(misc)
PROJEXE_OBJ	= proj.obj gen_cheb.obj p_series.obj emess.obj
CS2CSEXE_OBJ	= cs2cs.obj gen_cheb.obj p_series.obj emess.obj
GEODEXE_OBJ	= geod.obj geod_set.obj geod_for.obj geod_inv.obj emess.obj
PROJ_DLL 	= proj$(VERSION).dll
PROJ_EXE    = proj.exe
CS2CS_EXE   = cs2cs.exe
GEOD_EXE    = geod.exe
NAD2NAD_EXE = nad2nad.exe
NAD2BIN_EXE = nad2bin.exe

CFLAGS	=	/nologo -I. -DPROJ_LIB=\"$(PROJ_LIB_DIR)\" \
		-DHAVE_STRERROR=1 $(OPTFLAGS)

default:	all

all: proj.lib $(PROJ_EXE) $(CS2CS_EXE) $(GEOD_EXE) $(NAD2BIN_EXE)

# Disabled: $(NAD2NAD_EXE)

proj.lib:	$(LIBOBJ)
	if exist proj.lib del proj.lib
	lib /out:proj.lib $(LIBOBJ)

$(PROJ_DLL):	proj_i.lib

proj_i.lib:	$(LIBOBJ)
	link /debug /dll /def:proj.def /out:$(PROJ_DLL) /implib:proj_i.lib \
			$(LIBOBJ)
	if exist $(PROJ_DLL).manifest mt -manifest $(PROJ_DLL).manifest -outputresource:$(PROJ_DLL);2

$(PROJ_EXE):	$(PROJEXE_OBJ) $(EXE_PROJ)
	cl $(PROJEXE_OBJ) $(EXE_PROJ)
	if exist $(PROJ_EXE).manifest mt -manifest $(PROJ_EXE).manifest -outputresource:$(PROJ_EXE);1

$(CS2CS_EXE):	$(CS2CSEXE_OBJ) $(EXE_PROJ)
	cl $(CS2CSEXE_OBJ) $(EXE_PROJ)
	if exist $(CS2CS_EXE).manifest mt -manifest $(CS2CS_EXE).manifest -outputresource:$(CS2CS_EXE);1

$(GEOD_EXE):	$(GEODEXE_OBJ) $(EXE_PROJ)
	cl $(GEODEXE_OBJ) $(EXE_PROJ)
	if exist $(GEOD_EXE).manifest mt -manifest $(GEOD_EXE).manifest -outputresource:$(GEOD_EXE);1

$(NAD2NAD_EXE):	nad2nad.obj emess.obj $(EXE_PROJ)
	cl nad2nad.obj emess.obj $(EXE_PROJ)

$(NAD2BIN_EXE):	nad2bin.obj emess.obj $(EXE_PROJ)
	cl nad2bin.obj emess.obj $(EXE_PROJ)

nadshift:	nad2bin.exe
	cd ..\nad
	..\src\nad2bin.exe < conus.lla conus
	..\src\nad2bin.exe < MD.lla MD
	..\src\nad2bin.exe < TN.lla TN
	..\src\nad2bin.exe < WI.lla WI
	..\src\nad2bin.exe < WO.lla WO
	..\src\nad2bin.exe < alaska.lla alaska
	..\src\nad2bin.exe < hawaii.lla hawaii
	..\src\nad2bin.exe < prvi.lla prvi
	..\src\nad2bin.exe < stgeorge.lla stgeorge
	..\src\nad2bin.exe < stlrnc.lla stlrnc
	..\src\nad2bin.exe < stpaul.lla stpaul
	..\src\nad2bin.exe < null.lla null
	cd ..\src

clean:
	del *.dll
	del *.exe
	del *.exp
	del *.manifest
	del *.lib
	del *.obj
	del *.pdb

install: all
	-mkdir $(INSTDIR)
	-mkdir $(INSTDIR)\bin
	-mkdir $(INSTDIR)\share
	-mkdir $(INSTDIR)\lib
	-mkdir $(INSTDIR)\include
	copy *.exe $(INSTDIR)\bin
	copy *.dll $(INSTDIR)\bin
	copy *.lib $(INSTDIR)\lib
	copy proj_api.h $(INSTDIR)\include