Merge branch 'master' of git.dyninst.org:/pub/dyninst
[dyninst.git] / dyner / make.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: make.module.tmpl,v 1.26 2008/02/20 08:31:02 jaw Exp $
7 #
8
9 SUITE_NAME      = Dyninst
10 RELEASE_NUM     = 5.0b1
11 #BUILD_MARK should be (re-)defined in core/make.config.local rather than here!
12
13 TARGET          = dyner
14 TEST_TARGET     = testDyner
15
16 SRCS         += ../src/$(TARGET).C lex.$(TARGET).C $(TARGET).tab.C
17 TEST_SRC      = ../tests/$(TEST_TARGET).C
18
19 IFLAGS       += -I$(TO_CORE)/dyninstAPI/h 
20 IFLAGS       += -I$(TO_CORE)/symtabAPI/h 
21 IFLAGS       += -I$(TO_CORE)/dynutil/h 
22 IFLAGS       += -I$(TO_CORE)/instructionAPI/h
23 IFLAGS       += -I../src
24
25 CXXFLAGS     += $(BASICWARNINGS)
26 CFLAGS       += $(BASICWARNINGS)
27
28 # This may cause problems on Alpha
29 # GCC has a new mangled name squisher (-fsquangle) which can be 
30 # set to "on" by default. This causes linker problems, so we
31 # default to "off".
32
33 ifdef GCC_2_95
34 CFLAGS          += -fno-squangle
35 CXXFLAGS        += -fno-squangle
36 endif
37
38 LIBS         += -lcommon -lsymtabAPI -lparseAPI -linstructionAPI -ldyninstAPI -liberty
39
40 SYSLIBS      += $(DEMANGLER_EXEC_LINK)
41 SYSLIBS      += -L$(TCLTK_LIB_DIR) $(TCL_LIB)
42
43 all: $(TARGET) $(TEST_TARGET)
44
45 MUTATEE_CFLAGS += $(MODCFLAGS) -g
46
47 $(TEST_TARGET): $(TEST_SRC)
48         $(CXX) $(MUTATEE_CFLAGS) -o $(TEST_TARGET) $(TEST_SRC)
49
50 LEXFLAGS += -P$(TARGET)
51 YACCFLAGS += -d -b $(TARGET) -p $(TARGET)
52
53 lex.$(TARGET).C: ../src/cmdline.l $(TARGET).tab.h
54         $(LEX) $(LEXFLAGS) ../src/cmdline.l
55         mv lex.$(TARGET).c lex.$(TARGET).C
56
57 $(TARGET).tab.h: $(TARGET).tab.C
58 $(TARGET).tab.C: ../src/cmdline.y
59         $(YACC) $(YACCFLAGS) ../src/cmdline.y
60         mv $(TARGET).tab.c $(TARGET).tab.C