2 # uCsim st7.src/Makefile
4 # (c) Drotos Daniel, Talker Bt. 1997
21 top_builddir
= @top_builddir@
22 top_srcdir
= @top_srcdir@
24 transform
= @program_transform_name@
26 DEFS
= $(subs
-DHAVE_CONFIG_H
,,@DEFS@
)
27 CPPFLAGS
= @CPPFLAGS@
-I
$(srcdir) -I
$(top_srcdir
) -I
$(top_builddir
) \
28 -I
$(top_srcdir
)/cmd.src
-I
$(top_srcdir
)/sim.src \
29 -I
$(top_srcdir
)/gui.src
31 CFLAGS
= @WALL_FLAG@ @CFLAGS@
-O
$(OPT
)
32 CXXFLAGS
= @WALL_FLAG@ @CXXFLAGS@
-O
$(OPT
)
35 SHAREDLIB
= @SHAREDLIB@
39 LIBS
= -L
$(top_builddir
) -lsim
-lucsimutil
-lguiucsim
-lcmd
-lsim @LIBS@
44 exec_prefix = @
exec_prefix@
48 datarootdir
= @datarootdir@
49 includedir = @
includedir@
51 man1dir = $(mandir)/man1
52 man2dir = $(mandir)/man2
57 OBJECTS_SHARED
= glob.o \
60 OBJECTS_EXE
= s
$(TN
).o
61 OBJECTS
= $(OBJECTS_SHARED
) $(OBJECTS_EXE
)
65 # short/long exe and lib name
67 LEN
= ucsim_
$(TN
)$(EXEEXT
)
68 SONAME
= libucsim_
$(TN
).so
70 enable_dlso
= @enable_dlso@
73 #TEST_OBJ = test_bit.hex test_dis.hex test_mov.hex test_jmp.hex \
76 # Compiling entire program or any subproject
77 # ------------------------------------------
78 all: checkconf otherlibs
$(TN
).src tests
83 # Compiling and installing everything and running test
84 # ---------------------------------------------------
85 install: all installdirs install_shared_lib
86 $(INSTALL
) $(LEN
) $(DESTDIR
)$(bindir)/$(LEN
)
87 $(STRIP
) $(DESTDIR
)$(bindir)/$(LEN
)
88 rm -f
$(DESTDIR
)$(bindir)/$(SEN
)
91 # Deleting all the installed files
92 # --------------------------------
94 rm -f
$(DESTDIR
)$(bindir)/$(SEN
)
95 rm -f
$(DESTDIR
)$(bindir)/$(LEN
)
96 rm -f
$(DESTDIR
)$(libdir)/$(SONAME
)
99 # Performing self-test
100 # --------------------
103 .PHONY
: test baseline
105 @
$(MAKE
) --no-print-directory
-C
test
108 @
$(MAKE
) --no-print-directory
-C
test baseline
111 # Performing installation test
112 # ----------------------------
116 # Creating installation directories
117 # ---------------------------------
119 test -d
$(DESTDIR
)$(bindir) ||
$(INSTALL
) -d
$(DESTDIR
)$(bindir)
122 # Creating dependencies
123 # ---------------------
126 Makefile.dep
: $(srcdir)/*.
cc $(srcdir)/*.h
127 $(MAKEDEP
) $(CPPFLAGS
) $(filter %.
cc,$^
) >Makefile.dep
129 -include Makefile.dep
130 include $(srcdir)/clean.mk
136 $(TN
).src
: $(LEN
) shared_lib
138 $(LEN
): $(OBJECTS
) $(top_builddir
)/libcmd.a
$(top_builddir
)/libguiucsim.a
$(top_builddir
)/libsim.a
$(top_builddir
)/libucsimutil.a
139 $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) $(OBJECTS
) $(LIBS
) -o
$@
141 #$(LEN): s$(TN)$(EXEEXT)
144 ifeq ($(dlso_ok
),yes
)
145 shared_lib
: $(top_builddir
)/$(SONAME
)
146 install_shared_lib
: shared_lib
147 test -d
$(DESTDIR
)$(libdir) ||
$(INSTALL
) -d
$(DESTDIR
)$(libdir)
148 $(INSTALL
) $(top_builddir
)/$(SONAME
) $(DESTDIR
)$(libdir)/$(SONAME
)
151 @
$(top_srcdir
)/mkecho
$(top_builddir
) "No $(TN) shared lib made."
152 @
$(top_srcdir
)/mkecho
$(top_builddir
) "(SHAREDLIB="$(SHAREDLIB
)",dl_ok="$(dl_ok
)",enable_dlso="$(enable_dlso
)")"
156 $(top_builddir
)/$(SONAME
): $(OBJECTS_SHARED
)
157 $(CXX
) -shared
$(LDFLAGS
) $(OBJECTS_SHARED
) -o
$(top_builddir
)/s
$(TN
).so
159 otherlibs
: $(top_builddir
)/libcmd.a
$(top_builddir
)/libguiucsim.a
$(top_builddir
)/libsim.a
$(top_builddir
)/libucsimutil.a
161 $(top_builddir
)/libcmd.a
:
162 $(MAKE
) -C
$(top_builddir
)/cmd.src
all
164 $(top_builddir
)/libguiucsim.a
:
165 $(MAKE
) -C
$(top_builddir
)/gui.src checkconf ucsim_lib
167 $(top_builddir
)/libsim.a
:
168 $(MAKE
) -C
$(top_builddir
)/sim.src
all
170 $(top_builddir
)/libucsimutil.a
:
171 $(MAKE
) -C
$(top_builddir
) -f main.mk
174 $(CXX
) $(CXXFLAGS
) $(PICOPT
) $(CPPFLAGS
) $(TARGET_ARCH
) -c
$< -o
$@
177 $(ST7ASM
) -l
$< -o
$@
-e
$<.lst
180 # Remaking configuration
181 # ----------------------
183 @if
[ -f
$(top_builddir
)/devel
]; then\
184 $(MAKE
) -f conf.mk
srcdir="$(srcdir)" top_builddir
="$(top_builddir)" freshconf
;\
187 # End of st7.src/Makefile.in