1# tthsum makefile
2#
3# Makefile for NMAKE that comes with Microsofts
4# cl.exe C/C++ compiler and link.exe linker.
5
6INSTALLDIR = $(WINDIR)
7
8CFLAGS = /Ox /Ot /GF /GL /nologo
9CPPFLAGS = /DUSE_TEXTS /DNDEBUG
10LD = link.exe
11LDFLAGS = /LIBPATH:$(BINS) /NOLOGO /LTCG /OPT:REF
12
13BINS = obj-win32
14TTHSUM = $(BINS)\tthsum.exe
15TEST = $(BINS)\test.exe
16APP_OBJS = $(BINS)\base32.obj $(BINS)\escape.obj $(BINS)\getopt.obj \
17	$(BINS)\read.obj $(BINS)\texts.obj $(BINS)\thex.obj \
18	$(BINS)\tiger.obj $(BINS)\tthsum.obj $(BINS)\utf8.obj
19TST_OBJS = $(BINS)\base32_test.obj $(BINS)\endian_test.obj \
20	$(BINS)\escape_test.obj $(BINS)\getopt_test.obj \
21	$(BINS)\read_test.obj $(BINS)\texts_test.obj $(BINS)\thex_test.obj \
22	$(BINS)\tiger_test.obj $(BINS)\types_test.obj \
23	$(BINS)\utf8_test.obj
24LIBS = setargv.obj
25
26
27all: tthsum test runtest
28
29install: tthsum
30	copy $(TTHSUM) "$(INSTALLDIR)"
31	copy tthsum.html "$(INSTALLDIR)\tthsum.html"
32	copy Changelog.txt "$(INSTALLDIR)\tthsum.txt"
33
34uninstall:
35	IF EXIST "$(INSTALLDIR)\tthsum.exe" del "$(INSTALLDIR)\tthsum.exe"
36	IF EXIST "$(INSTALLDIR)\tthsum.txt" del "$(INSTALLDIR)\tthsum.txt"
37	IF EXIST "$(INSTALLDIR)\tthsum.html" del "$(INSTALLDIR)\tthsum.html"
38
39tthsum: $(TTHSUM)
40
41test: $(TEST)
42
43runtest: test tthsum
44	$(BINS)\test.exe
45	$(BINS)\tthsum.exe $(BINS)\tthsum.exe $(BINS)\test.exe \
46		| $(BINS)\tthsum -cv
47
48clean:
49	del /q /s $(BINS)\
50	rmdir $(BINS)
51
52.c{$(BINS)}.obj::
53	@IF NOT EXIST "$(BINS)" mkdir $(BINS)
54	$(CC) $(CPPFLAGS) $(CFLAGS) $< /c /Fo$(BINS)\
55
56$(TTHSUM): $(APP_OBJS) $(BINS)\main.obj
57	$(LD) $(LDFLAGS) $(APP_OBJS) $(BINS)\main.obj $(LIBS) /OUT:$(TTHSUM)
58
59$(TEST): $(APP_OBJS) $(TST_OBJS) $(BINS)\test.obj
60	$(LD) $(LDFLAGS) $(APP_OBJS) $(TST_OBJS) $(BINS)\test.obj $(LIBS) \
61		/OUT:$(TEST)
62