head	1.23;
access;
symbols
	wx-lmi-20040506T2328Z:1.23
	wx-lmi-20040504T0034Z:1.22
	wx-lmi-20040503T0338Z:1.22
	wx-lmi-20040502T1436Z:1.22
	wx-lmi-20040428T1544Z:1.21
	wx-lmi-20040427T2306Z:1.20
	wx-lmi-20040423T0516Z:1.19
	wx-lmi-20040423T0457Z:1.18
	wx-lmi-20040422T1346Z:1.18
	wx-lmi-20040422T0043Z:1.18
	wx-lmi-20040420T0056Z:1.17
	wx-lmi-20040418T1956Z:1.17
	wx-lmi-20040417T1554Z:1.16
	wx-lmi-20040416T1427Z:1.15
	Reverted-to-wx-lmi-20040407T0335Z:1.14
	Defunct-Print-Text-View-Abandoned:1.13
	Defunct-Print-Text-View:1.12.0.2
	wx-lmi-20040407T0335Z:1.12
	wx-lmi-20040406T1700Z:1.11
	wx-lmi-20040403T1855Z:1.10
	wx-lmi-20040402T0322Z:1.10
	wx-lmi-20040331T1512Z:1.9
	wx-lmi-20040328T0307Z:1.8
	wx-lmi-20040326T0016Z:1.7
	wx-lmi-20040322T0213Z:1.6
	wx-lmi-20040318T1438Z:1.5
	wx-lmi-20040317T0419Z:1.4
	wx-lmi-20040316T1856Z:1.3
	wx-lmi-20040316T1419Z:1.2
	wx-lmi-20040314T2338Z:1.1
	skeleton-20040314T0340Z:1.1.1.1
	lmi:1.1.1;
locks; strict;
comment	@# @;


1.23
date	2004.05.10.06.13.39;	author chicares;	state Exp;
branches;
next	1.22;

1.22
date	2004.05.10.06.07.28;	author chicares;	state Exp;
branches;
next	1.21;

1.21
date	2004.05.10.06.05.34;	author chicares;	state Exp;
branches;
next	1.20;

1.20
date	2004.05.10.06.04.05;	author chicares;	state Exp;
branches;
next	1.19;

1.19
date	2004.05.10.06.02.28;	author chicares;	state Exp;
branches;
next	1.18;

1.18
date	2004.05.10.05.46.53;	author chicares;	state Exp;
branches;
next	1.17;

1.17
date	2004.05.10.05.38.46;	author chicares;	state Exp;
branches;
next	1.16;

1.16
date	2004.05.10.05.31.16;	author chicares;	state Exp;
branches;
next	1.15;

1.15
date	2004.05.10.05.26.23;	author chicares;	state Exp;
branches;
next	1.14;

1.14
date	2004.05.10.05.15.58;	author chicares;	state Exp;
branches;
next	1.13;

1.13
date	2004.05.10.02.59.55;	author chicares;	state Exp;
branches;
next	1.12;

1.12
date	2004.05.09.16.07.36;	author chicares;	state Exp;
branches;
next	1.11;

1.11
date	2004.05.09.15.59.40;	author chicares;	state Exp;
branches;
next	1.10;

1.10
date	2004.05.09.03.59.40;	author chicares;	state Exp;
branches;
next	1.9;

1.9
date	2004.05.09.03.56.47;	author chicares;	state Exp;
branches;
next	1.8;

1.8
date	2004.05.09.03.48.56;	author chicares;	state Exp;
branches;
next	1.7;

1.7
date	2004.05.09.03.45.57;	author chicares;	state Exp;
branches;
next	1.6;

1.6
date	2004.05.09.03.41.23;	author chicares;	state Exp;
branches;
next	1.5;

1.5
date	2004.05.09.03.32.51;	author chicares;	state Exp;
branches;
next	1.4;

1.4
date	2004.05.09.03.18.09;	author chicares;	state Exp;
branches;
next	1.3;

1.3
date	2004.05.09.02.09.40;	author chicares;	state Exp;
branches;
next	1.2;

1.2
date	2004.05.09.01.33.51;	author chicares;	state Exp;
branches;
next	1.1;

1.1
date	2004.05.09.01.00.06;	author chicares;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2004.05.09.01.00.06;	author chicares;	state Exp;
branches;
next	;


desc
@@


1.23
log
@wx-lmi-20040506T2328Z
@
text
@# Copyright (C) 2002, 2003, 2004 Gregory W. Chicares.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# http://groups.yahoo.com/group/actuarialsoftware
# email: <chicares@@mindspring.com>
# snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA

# $Id$

MAKEFLAGS = \
  --keep-going \
  --no-builtin-variables \
  --no-builtin-rules \

all: wx_new.dll lmi.exe

# Create dummy libraries
# C:/wx-lmi/lmi[0]$cp --preserve /MinGW/lib/libm.a libregex.a
# C:/wx-lmi/lmi[0]$cp --preserve /MinGW/lib/libm.a libpng.a
# C:/wx-lmi/lmi[0]$cp --preserve /MinGW/lib/libm.a libjpeg.a
# C:/wx-lmi/lmi[0]$cp --preserve /MinGW/lib/libm.a libzlib.a
# C:/wx-lmi/lmi[0]$cp --preserve /MinGW/lib/libm.a libtiff.a

WXDIR = /wxWindows-2.5.1

OBJECTS = \
  docmanager_ex.o \
  docmdichildframe_ex.o \
  html_doc.o \
  html_view.o \
  input.o \
  input_datum.o \
  lmi.o \
  lmi.rc.o \
  mc_enum_types.o \
  previewframe_ex.o \
  text_doc.o \
  text_view.o \
  transferor.o \
  view_ex.o \
  wx_checks.o \
  xml_notebook.o \

system_root   = C:

# Compiling tools.

mingw_dir     = $(system_root)/MinGW/bin
CC            = $(mingw_dir)/gcc
CPP           = $(mingw_dir)/cpp
CXX           = $(mingw_dir)/g++
RC            = $(mingw_dir)/windres

# Other utilities.

gnu_utils_dir = $(system_root)/gnu
BZIP2         = $(gnu_utils_dir)/bzip2
CP            = $(gnu_utils_dir)/cp
DATE          = /cygwin/bin/date
MKDIR         = $(gnu_utils_dir)/mkdir
RM            = $(gnu_utils_dir)/rm
SED           = $(gnu_utils_dir)/sed
TAR           = $(gnu_utils_dir)/tar
TOUCH         = $(gnu_utils_dir)/touch

# Autodependencies.

MAKEDEPEND_0 = \
  -MD -MF $*.d0 \

MAKEDEPEND_1 = \
  < $*.d0 \
  $(SED) \
  -e :a -e '/\\$$/N; s/\\\n//; ta' \
  -e 'h' \
  -e 's/^[^:]*: *//' \
  -e 's/$$/ :/' \
  -e 'G' \
  $(comp_autodependency_kludge) \
  > $*.d; $(RM) $*.d0

-include *.d
*.d: ;

# Settings.

CPPFLAGS = \
  -DWINVER=0x0400 \
  -D__WIN95__ \
  -DSTRICT \
  -DHAVE_W32API_H \
  -D__WXMSW__ \
  -D__WINDOWS__ \
  -D__WXDEBUG__ \
  -DWXUSINGDLL \
  -DDLL_NEW_USING_DLL \
  -DNO_GCC_PRAGMA \
  -DwxUSE_STL \
  -I $(WXDIR)/lib/gcc_dll/mswd \
  -I $(WXDIR)/include \
  -I $(WXDIR)/contrib/include \
  -I /boost/boost_1_31_0 \

gcc_warnings = \
  -pedantic \
  -std=c++98 \
  -Wall \
  -Wcast-align \
  -Wconversion \
  -Wdeprecated \
  -Wimport \
  -Wmissing-prototypes \
  -Wnon-template-friend \
  -Woverloaded-virtual \
  -Wpmf-conversions \
  -Wpointer-arith \
  -Wsign-compare \
  -Wsynth \
  -Wwrite-strings \

# Some boost libraries treat 'long long' as part of the language,
# which it probably soon will be.  
gcc_warnings += -Wno-long-long

# WX!! The wx library triggers many warnings with these flags:
gcc_strong_warnings = \
  $(gcc_warnings) \
  -W \
  -Wcast-qual \

# Boost deems that everyone should turn off this warning flag.
#  -Wundef \

CXXFLAGS = \
  $(gcc_warnings) \
  -ggdb \

RCFLAGS = \
  $(subst -I,--include-dir ,$(CPPFLAGS)) \
  --use-temp-file \

%.o: %.cpp
	$(CXX) $(MAKEDEPEND_0) -c $(CPPFLAGS) $(CXXFLAGS) $< -o$@@
	$(MAKEDEPEND_1)

%.rc.o: %.rc
	$(RC) $(RCFLAGS) -i $< -o $@@

# Suppress the next line to prevent using mpatrol.
# Beware: with mpatrol linked, gdb signals errors on application shutdown.
MPATROL_LIBS = -L$(system_root)/local/lib -lmpatrol -lbfd -liberty -limagehlp

LIBS = \
  $(MPATROL_LIBS) \
  -L $(WXDIR)/lib/gcc_dll \
  -lwx_new \
  -lwxmsw25d_xrc \
  -lwxmsw25d \
  -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 \
  -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 -lodbc32 -lwsock32 \
  -lopengl32 -lglu32 -lole32 -loleaut32 -luuid \

LDFLAGS = -L. -L$(WXDIR)/lib -mwindows -Wl,-Map,map

lmi.exe: $(OBJECTS)
	$(CXX) $(LDFLAGS) -o $@@ $(OBJECTS) $(LIBS)

wx_new.dll: CPPFLAGS = -DDLL_NEW_BUILDING_DLL
wx_new.dll: wx_new.o
	$(CXX) -shared -Wl,--out-implib,lib$(basename $@@).a $^ -o$@@

# Unit tests.

unit_test_targets = \
  any_member_test.exe \
  mc_enum_test.exe \
  wx_new_test.exe \

.PHONY: unit_tests
unit_tests: CXXFLAGS = $(gcc_strong_warnings) -ggdb
unit_tests: $(unit_test_targets)
	for z in $(unit_test_targets); { ./$$z; }

any_member_test.exe: any_member_test.o
	$(CXX) -o $@@ $^ $(MPATROL_LIBS)

mc_enum_test.exe: mc_enum_test.o mc_enum_test_aux.o
	$(CXX) -o $@@ $^ $(MPATROL_LIBS)

wx_new_test.exe: wx_new_test.o
	$(CXX) -o $@@ $^ $(MPATROL_LIBS)

# Test header idempotence.

headers = $(wildcard *.hpp)
templates = $(wildcard *.tpp)

.PHONY: check_idempotence
check_idempotence: $(headers:.hpp=.idh) $(templates:.tpp=.idt)

%.idh: %.hpp
	@@$(CXX) \
	  -DLMI_IGNORE_PCH \
	  $(CPPFLAGS) $(CXXFLAGS) \
	  -x c++ -w -O0 -fsyntax-only $<
	@@$(TOUCH) $@@

%.idt: %.tpp
	@@$(CXX) \
	  -DLMI_IGNORE_PCH \
	  $(CPPFLAGS) $(CXXFLAGS) \
	  -x c++ -w -O0 -fsyntax-only $<
	@@$(TOUCH) $@@

clean:
	-$(RM) --force '*.bak'
	-$(RM) --force '*.d'
	-$(RM) --force '*.d0'
	-$(RM) --force '*.ii'
	-$(RM) --force '*.mbt'
	-$(RM) --force '*.mrt'
	-$(RM) --force '*.o'
	-$(RM) --force '*.obj'
	-$(RM) --force '*.ps'
	-$(RM) --force '*.res'
	-$(RM) --force '*.rsc'
	-$(RM) --force '*.tds'
	-$(RM) --force '*.ti'
	-$(RM) --force core
	-$(RM) --force map

mostlyclean: clean
	-$(RM) --force '*.exe'
	-$(RM) --force 'mpatrol.log*'
	-$(RM) --force libwx_new.a
	-$(RM) --force wx_new.dll

# If there are no idempotence problems, then each '.id[ht]' file is
# zero bytes long--so there's no particular need to erase them, while
# they do bear significant information and would take time to rebuild.
distclean: mostlyclean
	-$(RM) --force '*.idh' '*.idt'

yyyymmddhhmm := $(shell $(DATE) -u +'%Y%m%dT%H%MZ')
archname = wx-lmi-$(yyyymmddhhmm)

archive: distclean
	$(MKDIR) ../$(archname)
	-$(CP) --force --preserve --recursive * ../$(archname)
	$(TAR) --create --directory=.. --file=$(archname).tar $(archname)
	$(RM) --force --recursive ../$(archname)
	$(BZIP2) --verbose --verbose $(archname).tar

@


1.22
log
@wx-lmi-20040502T1436Z
@
text
@d44 1
d161 1
a161 1
# Suppress the next line to use mpatrol.
d189 1
d200 3
@


1.21
log
@wx-lmi-20040428T1544Z
@
text
@d113 1
a113 1
  -I /boost/boost_1_23_0 \
d141 3
a143 1
  -Wundef \
d190 1
a190 1
unit_tests: CXXFLAGS = $(gcc_strong_warnings)
d226 3
d230 1
d234 2
@


1.20
log
@wx-lmi-20040427T2306Z
@
text
@d184 1
d188 1
d192 3
d196 1
a196 1
	$(CXX) $(gcc_strong_warnings) -o $@@ $^
@


1.19
log
@wx-lmi-20040423T0516Z
@
text
@d116 1
a122 1
  -Wlong-long \
d132 4
d137 5
a141 3
#  -W \
#  -Wcast-qual \
#  -Wundef \
d191 1
a191 1
	$(CXX) -o $@@ $^
@


1.18
log
@wx-lmi-20040422T0043Z
@
text
@d228 1
a228 1
# they do bear significant information and would take time to rebuild. 
d235 1
a235 1
archive: mostlyclean
@


1.17
log
@wx-lmi-20040418T1956Z
@
text
@d184 1
a184 1
mc_enum_test.exe: mc_enum_test.o
@


1.16
log
@wx-lmi-20040417T1554Z
@
text
@d169 1
a169 1
	$(CXX) $(LDFLAGS) -o lmi.exe $(OBJECTS) $(LIBS)
d175 12
d190 1
d193 8
a200 1
check_idempotence: $(headers:.hpp=.idm)
d202 1
a202 1
%.idm: %.hpp
d221 1
a223 1
	-$(RM) --force lmi.exe
d226 3
a228 2
# If there are not idempotence problems, then each '.idm' file is zero
# bytes long.
d230 1
a230 1
	-$(RM) --force '*.idm'
@


1.15
log
@wx-lmi-20040416T1427Z
@
text
@d190 1
a190 1
	-$(RM) --force '*.o'
d193 5
a197 1
	-$(RM) --force '*.idm'
a198 5
	-$(RM) --force core
	-$(RM) --force '*.rsc'
	-$(RM) --force '*.res'
	-$(RM) --force '*.ps'
	-$(RM) --force '*.bak'
d200 3
a202 1
cleanall: clean
d205 5
a209 2
	-$(RM) --force libwx_new.a
	-$(RM) --force 'mpatrol.log*'
d214 1
a214 1
archive: cleanall
@


1.14
log
@Reverted to wx-lmi-20040407T0335Z
@
text
@d20 1
a20 1
# $Id: GNUmakefile,v 1.12 2004/05/09 16:07:36 chicares Exp $
d43 1
d46 1
d50 1
d53 1
d113 1
@


1.13
log
@Defunct-Print-Text-View
@
text
@d20 1
a20 1
# $Id$
a40 1
  docprintout_ex.o \
@


1.12
log
@Snapshot wx-lmi-20040406T1700Z
@
text
@d41 1
@


1.11
log
@Snapshot wx-lmi-20040403T1855Z
@
text
@d40 1
d187 1
@


1.10
log
@Snapshot wx-lmi-20040331T1512Z
@
text
@d70 1
d169 14
d186 1
@


1.9
log
@Snapshot wx-lmi-20040328T0307Z
@
text
@d27 2
d56 1
d68 1
d71 21
d100 2
a101 1
  -DWXUSINGDLL=1 \
d139 2
a140 1
	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o$@@
d145 3
a147 1
all: lmi.exe
d150 1
d152 1
a158 6
# Suppress the next line to use mpatrol.
# Beware: with mpatrol linked, gdb signals errors on application shutdown.
# TODO ?? Investigate that.
MPATROL_LIBS = -L$(system_root)/local/lib -lmpatrol -lbfd -liberty -limagehlp
LIBS += $(MPATROL_LIBS)

d164 4
d170 1
d180 3
a182 1
	-$(RM) --force mpatrol.log
d190 1
a190 1
	$(TAR) --create --verbose --file=../$(archname).tar ../$(archname)/*
d192 1
a192 1
	$(BZIP2) --verbose --verbose ../$(archname).tar
@


1.8
log
@Snapshot wx-lmi-20040326T0016Z
@
text
@d22 5
a69 1
  -D__GNUWIN32__ \
@


1.7
log
@Snapshot wx-lmi-20040322T0213Z
@
text
@a21 5
# Based on makefiles in the wxWindows sample/ hierarchy.

# path=(/MinGW/bin/ /usr/bin C:/WINNT/system32 C:/WINNT)
# make 2>&1 |less

d29 1
a29 5
# 2.3.4 requires my modified patch 660293 as of 2003-01-18.
#WXDIR = /wxWindows-2.3.4-mingw30-dll
#WXDIR = /wxWindows-2.3.4-mingw30-static
# 2.4.1 includes my modified patch 660293 as of 2003-01-18.
WXDIR = /wxWindows-2.4.1
a30 1
TARGET = lmi
d36 1
d43 8
a50 1
include $(WXDIR)/src/makeg95.env
d52 1
a52 2
INCEXT = dll-ming323
DEBEXT = 241-ming323
d54 69
a122 5
CPPFLAGS = -DWXUSINGDLL=1
CFLAGS = -ggdb
#CXXFLAGS = -ggdb -DWXUSINGDLL=1
CXXFLAGS = -ggdb -std=c++98
ALL_LDFLAGS = -L. -L$(WXDIR)/lib -mwindows -Wl,-Map,map
d126 1
d128 1
a128 3
LDLIBS += $(MPATROL_LIBS)

all:    $(TARGET)$(GUISUFFIX)$(EXESUFF) $(TARGET)_resources.$(OBJSUFF) $(EXTRATARGETS)
d130 1
a130 2
$(TARGET)$(GUISUFFIX)$(EXESUFF): $(OBJECTS) $(TARGET)_resources.$(OBJSUFF) $(WXLIB)
	$(CXX) $(ALL_LDFLAGS) -o $(TARGET)$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(TARGET)_resources.$(OBJSUFF) -lwxxrc $(LDLIBS)
d132 2
a133 2
$(TARGET)_resources.o:  $(TARGET).rc
	$(RESCOMP) $(RCINPUTSWITCH) $(TARGET).rc $(RCOUTPUTSWITCH) $(TARGET)_resources.o $(RESFLAGS)
a136 1
	-$(RM) --force $(TARGET)_resources.o
d145 1
a145 1
	-$(RM) --force $(TARGET).exe
a146 9

system_root   = C:
gnu_utils_dir = $(system_root)/gnu
BZIP2         = $(gnu_utils_dir)/bzip2
CP            = $(gnu_utils_dir)/cp
DATE          = /cygwin/bin/date
MKDIR         = $(gnu_utils_dir)/mkdir
RM            = $(gnu_utils_dir)/rm
TAR           = $(gnu_utils_dir)/tar
@


1.6
log
@Snapshot wx-lmi-20040318T1438Z
@
text
@d46 1
d62 1
d71 1
a71 1
	$(CXX) $(ALL_LDFLAGS) -o $(TARGET)$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(TARGET)_resources.$(OBJSUFF) $(LDLIBS)
@


1.5
log
@Snapshot wx-lmi-20040317T0419Z
@
text
@d42 1
a42 2
  lmi.o \
  docmanager.o \
d45 1
@


1.4
log
@Snapshot wx-lmi-20040316T1856Z
@
text
@d63 2
a64 1
LDLIBS += -L$(system_root)/local/lib -lmpatrol -lbfd -liberty -limagehlp
@


1.3
log
@Snapshot wx-lmi-20040316T1419Z
@
text
@d41 9
a49 1
OBJECTS = lmi.o docmanager.o html_doc.o html_view.o text_doc.o text_view.o wx_checks.o
@


1.2
log
@Snapshot wx-lmi-20040314T2338Z
@
text
@d52 3
a54 1
ALL_LDFLAGS = -L. -mwindows -Wl,-Map,map
@


1.1
log
@Initial revision
@
text
@d25 8
a32 1
# make -WXUSINGDLL=1 2>&1 |less
d41 1
a41 1
OBJECTS = lmi.o docmanager.o html_doc.o html_view.o text_doc.o text_view.o
d51 3
a53 1
CXXFLAGS = -ggdb
d66 1
d75 1
@


1.1.1.1
log
@Imported source as of 20040314T0340Z
@
text
@@
