This is just an intermediate commit for dyner. But you are welcome to
[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.1 2000/03/21 21:37:54 altinel Exp $
7 #
8
9 SUITE_NAME      = Dyninst
10 RELEASE_NUM     = 2.0beta
11 #BUILD_MARK should be (re-)defined in core/make.config.local rather than here!
12
13 DEST            = $(TO_CORE)\$(PROGRAM_DEST)\testprogs
14
15 TARGET          = dyner.exe
16 TEST_TARGET     = testDyner.exe
17
18 SRCS          = ../src/$(TARGET:.exe=.C) lex.$(TARGET:.exe=.c) $(TARGET:.exe=.tab).c
19 TEST_SRC      = ../tests/$(TEST_TARGET:.exe=.C)
20
21 OBJS          = $(TARGET:.exe=.obj) lex.$(TARGET:.exe=.obj) $(TARGET:.exe=.tab).obj
22
23 IFLAGS       = $(IFLAGS) -I$(TO_CORE)/dyninstAPI/h -I../src
24
25 LIBS            = $(TO_CORE)/$(LIBRARY_DEST)/libdyninstAPI.lib \
26                   $(TO_CORE)/$(LIBRARY_DEST)/libpdutil.lib
27
28 #SYSLIBS                = j:/altinel/cygwin/cygwin-b20/H-i586-cygwin32/lib/libtcl80.a \
29 SYSLIBS         = j:/altinel/winnt/lib/tcl82.lib \
30                   imagehlp.lib
31
32 all: $(TARGET) $(TEST_TARGET)
33
34 $(TEST_TARGET:.exe=.obj): $(TEST_SRC)
35         $(CC) $(CXXFLAGS) -c -o $(TEST_TARGET:.exe=.obj) $(TEST_SRC)
36
37 $(TEST_TARGET): $(TEST_TARGET:.exe=.obj)
38         $(LINK) -out:$(TEST_TARGET) $(LDFLAGS) -debug -pdb:none \
39                 $(TEST_TARGET:.exe=.obj)
40
41 LEXFLAGS = -P$(TARGET:.exe=)
42 YACCFLAGS = -d -b $(TARGET:.exe=) -p $(TARGET:.exe=)
43
44 lex.$(TARGET:.exe=.c): ../src/cmdline.l
45         $(LEX) $(LEXFLAGS) ../src/cmdline.l
46
47 $(TARGET:.exe=.tab).c $(TARGET:.exe=.tab).h: ../src/cmdline.y
48         $(YACC) $(YACCFLAGS) ../src/cmdline.y
49
50 UNCOMMON_INSTALL=true
51
52 install: all
53         -$(MKDIR) $(DEST)
54         -$(CP) $(TARGETS) $(DEST)
55