4 # (c) 1997 Drotos Daniel
21 top_builddir
= @top_builddir@
22 top_srcdir
= @top_srcdir@
27 DEFS
= $(subs
-DHAVE_CONFIG_H
,,@DEFS@
)
28 # FIXME: -Imcs51 must be removed!!!
30 CPPFLAGS
= @CPPFLAGS@
-I
$(top_builddir
) -I
$(srcdir) \
31 -I
$(top_srcdir
)/$(SIMDIR
) \
32 -I
$(top_srcdir
)/$(CMDDIR
) -I
$(top_srcdir
)/$(GUIDIR
)
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@
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
)
49 exec_prefix = @
exec_prefix@
53 datarootdir
= @datarootdir@
54 includedir = @
includedir@
56 man1dir = $(mandir)/man1
57 man2dir = $(mandir)/man2
62 OBJECTS
= pobj.o globals.o utils.o error.o app.o option.o chars.o fio.o
63 ifeq ($(WINSOCK_AVAIL
), 1)
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 # ------------------------------------------
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
)
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
)
98 $(INSTALL
) relay
$(EXEEXT
) $(DESTDIR
)$(bindir)/relay
$(EXEEXT
)
99 $(STRIP
) $(DESTDIR
)$(bindir)/relay
$(EXEEXT
)
102 # Deleting all the installed files
103 # --------------------------------
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 # --------------------
121 # Performing installation test
122 # ----------------------------
126 # Creating installation directories
127 # ---------------------------------
129 test -d
$(DESTDIR
)$(bindir) ||
$(INSTALL
) -d
$(DESTDIR
)$(bindir)
132 # Creating dependencies
133 # ---------------------
136 main.dep
: $(ALL_SOURCES
) *.h
$(srcdir)/*.h
137 $(MAKEDEP
) $(CPPFLAGS
) $(filter %.
cc,$^
) >main.dep
140 include $(srcdir)/clean.mk
148 libucsimutil.a
: $(OBJECTS
)
151 @
$(AR
) -rc
$@
$+ >>$(top_srcdir
)/compile.log
2>&1
152 @
$(RANLIB
) $@
>>$(top_srcdir
)/compile.log
2>&1
159 ifeq ($(enable_ucsim
),yes
)
160 ucsim_app
: libs ucsim
$(EXEEXT
)
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
$@
181 $(CXX
) $(CXXFLAGS
) -o
$@
$< -lpthread
184 $(CXX
) $(CXXFLAGS
) $(CPPFLAGS
) $(TARGET_ARCH
) -c
$< -o
$@
187 # Remaking configuration
188 # ----------------------
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