sdcc-gas/sim/ucsim/main_in.mk

170 lines
3.9 KiB
Makefile

#
# S51 main.mk
#
# (c) Drotos Daniel, Talker Bt. 1997,99
#
STARTYEAR = 1997
SHELL = /bin/sh
CXX = @CXX@
#CPP = @CPP@
CXXCPP = @CXXCPP@
RANLIB = @RANLIB@
INSTALL = @INSTALL@
MAKEDEP = @MAKEDEP@
AR = @AR@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SIMDIR = sim.src
CMDDIR = cmd.src
GUIDIR = gui.src
DEFS = $(subs -DHAVE_CONFIG_H,,@DEFS@)
# FIXME: -Imcs51 must be removed!!!
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir) -I$(srcdir) \
-I$(top_srcdir)/$(SIMDIR) \
-I$(top_srcdir)/$(CMDDIR) -I$(top_srcdir)/$(GUIDIR)
CFLAGS = @CFLAGS@ -I$(top_builddir) @WALL_FLAG@
CXXFLAGS = @CXXFLAGS@ -I$(top_builddir) @WALL_FLAG@
WINSOCK_AVAIL = @WINSOCK_AVAIL@
LDFLAGS = @LDFLAGS@
EXEEXT = @EXEEXT@
LIB_LIST = sim ucsimutil guiucsim cmd ucsimutil sim
UCSIM_LIBS = $(patsubst %,-l%,$(LIB_LIST)) @LIBS@
UCSIM_LIB_FILES = $(patsubst %,lib%.a,$(LIB_LIST))
RELAY_LIBS = $(patsubst %,-l%,ucsimutil) @LIBS@
RELAY_LIB_FILES = $(patsubst %,lib%.a,ucsimutil)
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
datadir = @datadir@
datarootdir = @datarootdir@
includedir = @includedir@
mandir = @mandir@
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
infodir = @infodir@
srcdir = @srcdir@
VPATH = @srcdir@
OBJECTS = pobj.o globals.o utils.o error.o app.o option.o chars.o fio.o
ifeq ($(WINSOCK_AVAIL), 1)
OBJECTS += fwio.o
else
OBJECTS += fuio.o
endif
SOURCES = $(patsubst %.o,%.cc,$(OBJECTS))
UCSIM_OBJECTS = ucsim.o
UCSIM_SOURCES = $(patsubst %.o,%.cc,$(UCSIM_OBJECTS))
RELAY_OBJECTS = relay.o
RELAY_SOURCES = $(patsubst %.o,%.cc,$(RELAY_OBJECTS))
ALL_SOURCES = $(SOURCES) $(UCSIM_SOURCES) $(RELAY_SSOURCES)
enable_ucsim = @enable_ucsim@
# Compiling entire program or any subproject
# ------------------------------------------
all: checkconf libs
libs: libucsimutil.a
main_app: checkconf ucsim_app relay_app
# Compiling and installing everything and runing test
# ---------------------------------------------------
install: all installdirs
# Deleting all the installed files
# --------------------------------
uninstall:
rm -f $(DESTDIR)$(bindir)/s51$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/savr$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/serialview$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/portmon$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/sstm8$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/sst7$(EXEEXT)
# Performing self-test
# --------------------
check:
test:
# Performing installation test
# ----------------------------
installcheck:
# Creating installation directories
# ---------------------------------
installdirs:
# Creating dependencies
# ---------------------
dep: main.dep
main.dep: $(ALL_SOURCES) *.h $(srcdir)/*.h
$(MAKEDEP) $(CPPFLAGS) $(filter %.cc,$^) >main.dep
-include main.dep
include $(srcdir)/clean.mk
#parser.cc: parser.y
#plex.cc: plex.l
# My rules
# --------
libucsimutil.a: $(OBJECTS)
$(AR) -rc $@ $(OBJECTS)
$(RANLIB) $@
ifeq ($(enable_ucsim),yes)
ucsim_app: libs ucsim$(EXEEXT)
else
ucsim_app:
endif
ftest_app: libs ftest$(EXEEXT)
relay_app: libs relay$(EXEEXT)
ucsim$(EXEEXT): $(UCSIM_OBJECTS) $(UCSIM_LIB_FILES)
echo $(UCSIM_LIB_FILES)
$(CXX) $(CXXFLAGS) $(LDFLAGS) $< -L$(top_builddir) $(UCSIM_LIBS) -o $@
ftest$(EXEEXT): ftest.o libucsimutil.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -L$(top_builddir) -lucsimutil @LIBS@
relay$(EXEEXT): $(RELAY_OBJECTS) $(RELAY_LIB_FILES)
$(CXX) $(CXXFLAGS) $(LDFLAGS) $< -L$(top_builddir) $(RELAY_LIBS) -o $@
ptt: ptt.o
$(CXX) $(CXXFLAGS) -o $@ $< -lpthread
.cc.o:
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
# Remaking configuration
# ----------------------
checkconf:
@if [ -f devel ]; then\
$(top_srcdir)/mkecho $(top_builddir) "MAIN.MK checkconf";\
$(MAKE) -f conf.mk srcdir="$(srcdir)" freshconf;\
fi
# End of main_in.mk/main.mk