[ucsim] Redesing use of OPT flag
[sdcc.git] / sdcc / sim / ucsim / main_in.mk
blobd86aa3c05c25b7bff71a9c16f15d0ed5ae31027d
2 # uCsim main.mk
4 # (c) 1997 Drotos Daniel
7 TN = main
9 STARTYEAR = 1997
11 SHELL = /bin/sh
12 CXX = @CXX@
13 #CPP = @CPP@
14 CXXCPP = @CXXCPP@
15 RANLIB = @RANLIB@
16 INSTALL = @INSTALL@
17 STRIP = @STRIP@
18 MAKEDEP = @MAKEDEP@
19 AR = @AR@
21 top_builddir = @top_builddir@
22 top_srcdir = @top_srcdir@
23 SIMDIR = sim.src
24 CMDDIR = cmd.src
25 GUIDIR = gui.src
27 DEFS = $(subs -DHAVE_CONFIG_H,,@DEFS@)
28 # FIXME: -Imcs51 must be removed!!!
29 PICOPT = @PICOPT@
30 CPPFLAGS = @CPPFLAGS@ -I$(top_builddir) -I$(srcdir) \
31 -I$(top_srcdir)/$(SIMDIR) \
32 -I$(top_srcdir)/$(CMDDIR) -I$(top_srcdir)/$(GUIDIR)
33 OPT ?= 2
34 CFLAGS = @WALL_FLAG@ @CFLAGS@ -O$(OPT) -I$(top_builddir)
35 CXXFLAGS = @WALL_FLAG@ @CXXFLAGS@ -O$(OPT) $(PICOPT) -I$(top_builddir)
36 WINSOCK_AVAIL = @WINSOCK_AVAIL@
37 LDFLAGS = @LDFLAGS@
39 EXEEXT = @EXEEXT@
41 LIB_LIST = sim ucsimutil guiucsim cmd sim
42 UCSIM_LIBS = $(patsubst %,-l%,$(LIB_LIST)) @LIBS@
43 UCSIM_LIB_FILES = $(patsubst %,lib%.a,$(LIB_LIST))
45 RELAY_LIBS = $(patsubst %,-l%,ucsimutil) @LIBS@
46 RELAY_LIB_FILES = $(patsubst %,lib%.a,ucsimutil)
48 prefix = @prefix@
49 exec_prefix = @exec_prefix@
50 bindir = @bindir@
51 libdir = @libdir@
52 datadir = @datadir@
53 datarootdir = @datarootdir@
54 includedir = @includedir@
55 mandir = @mandir@
56 man1dir = $(mandir)/man1
57 man2dir = $(mandir)/man2
58 infodir = @infodir@
59 srcdir = @srcdir@
60 VPATH = @srcdir@
62 OBJECTS = pobj.o globals.o utils.o error.o app.o option.o chars.o fio.o
63 ifeq ($(WINSOCK_AVAIL), 1)
64 OBJECTS += fwio.o
65 else
66 OBJECTS += fuio.o
67 endif
68 SOURCES = $(patsubst %.o,%.cc,$(OBJECTS))
69 UCSIM_OBJECTS = ucsim.o
70 UCSIM_SOURCES = $(patsubst %.o,%.cc,$(UCSIM_OBJECTS))
71 RELAY_OBJECTS = relay.o
72 RELAY_SOURCES = $(patsubst %.o,%.cc,$(RELAY_OBJECTS))
73 ALL_SOURCES = $(SOURCES) $(UCSIM_SOURCES) $(RELAY_SSOURCES)
75 enable_ucsim = @enable_ucsim@
78 # Compiling entire program or any subproject
79 # ------------------------------------------
80 all: checkconf libs
82 libs: libucsimutil.a
84 main_app: checkconf ucsim_app relay_app
86 # Compiling and installing everything and running test
87 # ---------------------------------------------------
88 install: all installdirs installapps
90 ifeq ($(enable_ucsim),yes)
91 installapps:
92 $(INSTALL) ucsim$(EXEEXT) $(DESTDIR)$(bindir)/ucsim$(EXEEXT)
93 $(STRIP) $(DESTDIR)$(bindir)/ucsim$(EXEEXT)
94 $(INSTALL) relay$(EXEEXT) $(DESTDIR)$(bindir)/relay$(EXEEXT)
95 $(STRIP) $(DESTDIR)$(bindir)/relay$(EXEEXT)
96 else
97 installapps:
98 $(INSTALL) relay$(EXEEXT) $(DESTDIR)$(bindir)/relay$(EXEEXT)
99 $(STRIP) $(DESTDIR)$(bindir)/relay$(EXEEXT)
100 endif
102 # Deleting all the installed files
103 # --------------------------------
104 uninstall:
105 rm -f $(DESTDIR)$(bindir)/s51$(EXEEXT)
106 rm -f $(DESTDIR)$(bindir)/savr$(EXEEXT)
107 rm -f $(DESTDIR)$(bindir)/serialview$(EXEEXT)
108 rm -f $(DESTDIR)$(bindir)/portmon$(EXEEXT)
109 rm -f $(DESTDIR)$(bindir)/sstm8$(EXEEXT)
110 rm -f $(DESTDIR)$(bindir)/sst7$(EXEEXT)
111 rm -f $(DESTDIR)$(bindir)/sp1516$(EXEEXT)
112 rm -f $(DESTDIR)$(bindir)/sm6809$(EXEEXT)
115 # Performing self-test
116 # --------------------
117 check:
119 test:
121 # Performing installation test
122 # ----------------------------
123 installcheck:
126 # Creating installation directories
127 # ---------------------------------
128 installdirs:
129 test -d $(DESTDIR)$(bindir) || $(INSTALL) -d $(DESTDIR)$(bindir)
132 # Creating dependencies
133 # ---------------------
134 dep: main.dep
136 main.dep: $(ALL_SOURCES) *.h $(srcdir)/*.h
137 $(MAKEDEP) $(CPPFLAGS) $(filter %.cc,$^) >main.dep
139 -include main.dep
140 include $(srcdir)/clean.mk
142 #parser.cc: parser.y
144 #plex.cc: plex.l
146 # My rules
147 # --------
148 libucsimutil.a: $(OBJECTS)
149 ifeq ($(SILENT),yes)
150 @echo LIB $(TN)-$@
151 @$(AR) -rc $@ $+ >>$(top_srcdir)/compile.log 2>&1
152 @$(RANLIB) $@ >>$(top_srcdir)/compile.log 2>&1
153 else
154 $(AR) -rc $@ $+
155 $(RANLIB) $@
156 endif
159 ifeq ($(enable_ucsim),yes)
160 ucsim_app: libs ucsim$(EXEEXT)
161 else
162 ucsim_app:
163 endif
165 ftest_app: libs ftest$(EXEEXT)
167 relay_app: libs relay$(EXEEXT)
169 ucsim$(EXEEXT): $(UCSIM_OBJECTS) $(UCSIM_LIB_FILES)
170 echo $(UCSIM_LIB_FILES)
171 $(CXX) $(CXXFLAGS) $(LDFLAGS) $< -L$(top_builddir) $(UCSIM_LIBS) -o $@
173 #ftest$(EXEEXT): ftest.o libucsimutil.a
174 # $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -L$(top_builddir) -lucsimutil @LIBS@
176 relay$(EXEEXT): $(RELAY_OBJECTS) $(RELAY_LIB_FILES)
177 $(CXX) $(CXXFLAGS) $(LDFLAGS) $< -L$(top_builddir) $(RELAY_LIBS) -o $@
180 ptt: ptt.o
181 $(CXX) $(CXXFLAGS) -o $@ $< -lpthread
183 .cc.o:
184 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
187 # Remaking configuration
188 # ----------------------
189 checkconf:
190 @if [ -f devel ]; then\
191 $(top_srcdir)/mkecho $(top_builddir) "MAIN.MK checkconf";\
192 $(MAKE) -f conf.mk srcdir="$(srcdir)" freshconf;\
195 # End of main_in.mk/main.mk