ucsim-0.2.37-pre3 into CVS
[fw/sdcc] / sim / ucsim / main_in.mk
1 #
2 # S51 main.mk
3 #
4 # (c) Drotos Daniel, Talker Bt. 1997,99
5 #
6
7 STARTYEAR       = 1997
8
9 SHELL           = /bin/sh
10 CXX             = @CXX@
11 #CPP            = @CPP@
12 CXXCPP          = @CXXCPP@
13 RANLIB          = @RANLIB@
14 INSTALL         = @INSTALL@
15
16 PRJDIR          = .
17
18 DEFS            = $(subs -DHAVE_CONFIG_H,,@DEFS@)
19 # FIXME: -Imcs51 must be removed!!!
20 CPPFLAGS        = @CPPFLAGS@ -I$(PRJDIR)
21 CFLAGS          = @CFLAGS@ -I$(PRJDIR) -Wall
22 CXXFLAGS        = @CXXFLAGS@ -I$(PRJDIR) -Wall
23 M_OR_MM         = @M_OR_MM@
24
25 prefix          = @prefix@
26 exec_prefix     = @exec_prefix@
27 bindir          = @bindir@
28 libdir          = @libdir@
29 datadir         = @datadir@
30 includedir      = @includedir@
31 mandir          = @mandir@
32 man1dir         = $(mandir)/man1
33 man2dir         = $(mandir)/man2
34 infodir         = @infodir@
35 srcdir          = @srcdir@
36
37 OBJECTS         = pobj.o globals.o utils.o
38
39
40 # Compiling entire program or any subproject
41 # ------------------------------------------
42 all: checkconf libs
43
44 libs: libutil.a
45
46 # Compiling and installing everything and runing test
47 # ---------------------------------------------------
48 install: all installdirs
49
50
51 # Deleting all the installed files
52 # --------------------------------
53 uninstall:
54         rm -f $(bindir)/s51
55         rm -f $(bindir)/savr
56         rm -f $(bindir)/serialview
57         rm -f $(bindir)/portmon
58
59
60 # Performing self-test
61 # --------------------
62 check:
63
64
65 # Performing installation test
66 # ----------------------------
67 installcheck:
68
69
70 # Creating installation directories
71 # ---------------------------------
72 installdirs:
73
74
75 # Creating dependencies
76 # ---------------------
77 dep: main.dep
78
79 main.dep: *.cc *.h
80         $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) *.cc >main.dep
81
82 include main.dep
83 include clean.mk
84
85 #parser.cc: parser.y
86
87 #plex.cc: plex.l
88
89 # My rules
90 # --------
91
92 libutil.a: $(OBJECTS)
93         ar -rcu $*.a $(OBJECTS)
94         $(RANLIB) $*.a
95
96 .cc.o:
97         $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
98
99 .y.cc:
100         rm -f $*.cc $*.h
101         $(YACC) -d $<
102         mv y.tab.c $*.cc
103         mv y.tab.h $*.h
104
105 .l.cc:
106         rm -f $*.cc
107         $(LEX) -t $< >$*.cc
108
109
110 # Remaking configuration
111 # ----------------------
112 checkconf:
113         @if [ -f devel ]; then\
114           $(MAKE) -f conf.mk srcdir="$(srcdir)" freshconf;\
115         fi
116
117 # End of main_in.mk/main.mk