Merge branch 'master' of git.dyninst.org:/pub/dyninst
[dyninst.git] / dyner / nmake.module.tmpl
1
2 # Common makefile template for dyninst Tests.  This file is not intended to
3 # be a useful Makefile in isolation; instead, it should be included
4 # from within an architecture-specific Makefile.
5 #
6 # $Id: nmake.module.tmpl,v 1.17 2005/03/14 22:17:44 legendre Exp $
7 #
8
9 SUITE_NAME      = Dyninst
10 RELEASE_NUM     = 4.2
11 #BUILD_MARK should be (re-)defined in core/make.config.local rather than here!
12
13 TARGET          = dyner.exe
14 TEST_TARGET     = testDyner.exe
15
16 SRCS          = ../src/$(TARGET:.exe=.C) lex.$(TARGET:.exe=.c) $(TARGET:.exe=.tab).c
17 TEST_SRC      = ../tests/$(TEST_TARGET:.exe=.C)
18
19 OBJS          = $(TARGET:.exe=.obj) lex.$(TARGET:.exe=.obj) $(TARGET:.exe=.tab).obj
20
21 IFLAGS       = $(IFLAGS) -I$(TO_CORE)/dyninstAPI/h -I../src 
22
23 LIBS            = $(TO_CORE)/$(LIBRARY_DEST)/libdyninstAPI.lib
24
25 SYSLIBS         = -LIBPATH:$(TCLTK_DIR)\lib $(TCL_LIB) ws2_32.lib
26
27 all: $(TARGET) $(TEST_TARGET)
28
29 $(TEST_TARGET:.exe=.obj): $(TEST_SRC)
30         $(CC) $(CXXFLAGS) -c -o $(TEST_TARGET:.exe=.obj) $(TEST_SRC)
31
32 $(TEST_TARGET): $(TEST_TARGET:.exe=.obj)
33         $(LINK) -out:$(TEST_TARGET) $(LDFLAGS) -debug -pdb:none \
34                 $(TEST_TARGET:.exe=.obj)
35
36 LFLAGS = $(LFLAGS) -P$(TARGET:.exe=)
37 YFLAGS = $(YFLAGS) -p $(TARGET:.exe=)
38
39 lex.$(TARGET:.exe=.c): ../src/cmdline.l $(TARGET:.exe=.tab).h
40         $(LEX) $(LFLAGS) ../src/cmdline.l
41         $(PERL) $(TO_CORE)\..\scripts\vcStripUnistd.pl < $@ > $@.tmp
42         $(MV) $@.tmp $@
43
44
45 $(TARGET:.exe=.tab).c $(TARGET:.exe=.tab).h: ../src/cmdline.y
46         $(YACC) $(YFLAGS) ../src/cmdline.y
47         $(PERL) $(TO_CORE)\..\scripts\vcStripStd.pl < y.tab.c > $(TARGET:.exe=.tab).c
48         $(MV) y.tab.h $(TARGET:.exe=.tab).h
49         -$(RM) y.tab.c
50