# -*- makefile -*- # Makefile for Microsoft Windows with Microsoft Visual C++ 5.0 compiler GENERATE_DLL=0 WITH_JUDY=0 CC=cl # Debug version CFLAGS = -c -nologo -Zi -W3 -DDEBUG_LEVEL=DEBUG_TRACE -D_CRT_SECURE_NO_WARNINGS # Optimized veriosion #CFLAGS = -c -Ox -G6 -nologo -Zi -W3 -DDEBUG_LEVEL=DEBUG_CHECK # Optimized veriosion with switched off asserts #CFLAGS = -c -Ox -G6 -nologo -Zi -W3 -DNDEBUG DLLFLAGS = -LDd -Zi -nologo LFLAGS=-Zi -nologo STDLIBS= AR=lib ARFLAGS= EXAMPLES=guess.exe testtree.exe testtext.exe testspat.exe testperf.exe testiter.exe testrans.exe dumpmem.exe stltest.exe testmap.exe stltest2.exe testmap2.exe testnew.exe HEADERS=stdtp.h file.h storage.h classinfo.h object.h OBJS=file.obj storage.obj classinfo.obj avltree.obj rtree.obj ttree.obj array.obj hashtab.obj textobj.obj post_c_api.obj iterator.obj !IF $(WITH_JUDY) OBJS=$(OBJS) judyarr.obj STDLIBS=$(STDLIBS) Judy/src/Judy.lib EXAMPLES=$(EXAMPLES) testjudy.exe !ENDIF !IF $(GENERATE_DLL) CFLAGS = $(CFLAGS) -DPOST_DLL -Ox all: storage.lib storage.dll postnew.obj $(EXAMPLES) !ELSE all: storage.lib postnew.obj $(EXAMPLES) !ENDIF judyarr.obj: judyarr.cxx judyarr.h $(CC) $(CFLAGS) -IJudy/src -DJU_WIN judyarr.cxx file.obj: file.cxx $(HEADERS) $(CC) $(CFLAGS) file.cxx storage.obj: storage.cxx $(HEADERS) $(CC) $(CFLAGS) storage.cxx classinfo.obj: classinfo.cxx $(HEADERS) $(CC) $(CFLAGS) classinfo.cxx avltree.obj: avltree.cxx avltree.h $(HEADERS) $(CC) $(CFLAGS) avltree.cxx rtree.obj: rtree.cxx rtree.h dnmarr.h $(HEADERS) $(CC) $(CFLAGS) rtree.cxx ttree.obj: ttree.cxx ttree.h dnmarr.h $(HEADERS) $(CC) $(CFLAGS) ttree.cxx array.obj: array.cxx array.h $(HEADERS) $(CC) $(CFLAGS) array.cxx hashtab.obj: hashtab.cxx hashtab.h $(HEADERS) $(CC) $(CFLAGS) hashtab.cxx iterator.obj: iterator.cxx iterator.h $(HEADERS) $(CC) $(CFLAGS) iterator.cxx textobj.obj: textobj.cxx textobj.h $(HEADERS) $(CC) $(CFLAGS) textobj.cxx postnew.obj: postnew.cxx $(HEADERS) $(CC) $(CFLAGS) -DDO_NOT_REDEFINE_MALLOC postnew.cxx post_c_api.obj: post_c_api.cxx $(HEADERS) post_c_api.h $(CC) $(CFLAGS) post_c_api.cxx storage.lib: $(OBJS) $(AR) $(ARFLAGS) /OUT:storage.lib $(OBJS) storage.dll: $(OBJS) $(CC) $(DLLFLAGS) /Festorage.dll $(OBJS) # # Examples # guess.obj: guess.cxx $(HEADERS) $(CC) $(CFLAGS) guess.cxx testtext.obj: testtext.cxx textobj.h array.h $(HEADERS) $(CC) $(CFLAGS) testtext.cxx testtree.obj: testtree.cxx avltree.h hashtab.h $(HEADERS) $(CC) $(CFLAGS) testtree.cxx testspat.obj: testspat.cxx rtree.h dnmarr.h hashtab.h $(HEADERS) $(CC) $(CFLAGS) testspat.cxx testperf.obj: testperf.cxx ttree.h dnmarr.h $(HEADERS) $(CC) $(CFLAGS) testperf.cxx testiter.obj: testiter.cxx iterator.h ttree.h dnmarr.h $(HEADERS) $(CC) $(CFLAGS) testiter.cxx testrans.obj: testrans.cxx avltree.h $(HEADERS) $(CC) $(CFLAGS) testrans.cxx dumpmem.obj: dumpmem.cxx $(HEADERS) $(CC) $(CFLAGS) dumpmem.cxx stltest.obj: stltest.cxx post_stl.h $(HEADERS) $(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -DREDEFINE_DEFAULT_ALLOCATOR -GX stltest.cxx testmap.obj: testmap.cxx post_stl.h $(HEADERS) $(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -DREDEFINE_DEFAULT_ALLOCATOR -GX testmap.cxx stltest2.obj: stltest2.cxx post_stl.h $(HEADERS) $(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -GX stltest2.cxx testmap2.obj: testmap2.cxx post_stl.h $(HEADERS) $(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -GX testmap2.cxx testnew.obj: testnew.cxx $(HEADERS) $(CC) $(CFLAGS) testnew.cxx testjudy.obj: testjudy.cxx judyarr.h $(HEADERS) $(CC) $(CFLAGS) testjudy.cxx guess.exe: guess.obj storage.lib $(CC) $(LFLAGS) guess.obj storage.lib $(STDLIBS) testtext.exe: testtext.obj storage.lib $(CC) $(LFLAGS) testtext.obj storage.lib $(STDLIBS) testtree.exe: testtree.obj storage.lib $(CC) $(LFLAGS) testtree.obj storage.lib $(STDLIBS) testspat.exe: testspat.obj storage.lib $(CC) $(LFLAGS) testspat.obj storage.lib $(STDLIBS) testperf.exe: testperf.obj storage.lib $(CC) $(LFLAGS) testperf.obj storage.lib $(STDLIBS) testiter.exe: testiter.obj storage.lib $(CC) $(LFLAGS) testiter.obj storage.lib $(STDLIBS) testrans.exe: testrans.obj storage.lib $(CC) $(LFLAGS) testrans.obj storage.lib $(STDLIBS) dumpmem.exe: dumpmem.obj storage.lib $(CC) $(LFLAGS) dumpmem.obj storage.lib $(STDLIBS) stltest.exe: stltest.obj storage.lib $(CC) $(LFLAGS) stltest.obj storage.lib $(STDLIBS) testmap.exe: testmap.obj storage.lib $(CC) $(LFLAGS) testmap.obj storage.lib $(STDLIBS) stltest2.exe: stltest2.obj storage.lib $(CC) $(LFLAGS) stltest2.obj storage.lib $(STDLIBS) testmap2.exe: testmap2.obj storage.lib $(CC) $(LFLAGS) testmap2.obj storage.lib $(STDLIBS) testnew.exe: testnew.obj postnew.obj $(CC) $(LFLAGS) testnew.obj postnew.obj storage.lib $(STDLIBS) testjudy.exe: testjudy.obj storage.lib $(CC) $(LFLAGS) testjudy.obj storage.lib $(STDLIBS) /link /force:multiple # # Service targets # cleanobj: -del *.dll,*.exp,*.obj,*.*~,*~,*.pch,*.pdb,*.ilk,*.exe,*.dsp,*.dsw,*.ncb,*.opt,*.plg cleandbs: -del *.odb,*.log,*.tmp clean: cleanobj cleandbs cleanall: clean -del *.lib zip: cleanall cd .. -del post.zip zip -r post.zip post copyzip: zip copy post.zip a: