1 # Common Makefile for all ports.
2 # Input: SOURCES - list of C files included in the project
3 # SPECIAL - list of special files that should be included in dependencies
4 # PEEPRULES - list of all peephole rules (.rul) derrived files
5 # PREBUILD - list of special files to build before deps.
7 # Ports are always located in sdcc/src/<portname>
11 # Include the sdcc/src directory
12 INCLUDEFLAGS = -I$(srcdir)/.. -I..
14 # If the sources aren't specified, assume all in this directory.
16 SOURCES = $(notdir $(wildcard $(srcdir)/*.c))
19 # If the peephole rules aren't specified, assume all.
21 PEEPDEFS = $(notdir $(wildcard $(srcdir)/*.def))
22 PEEPRULES = $(PEEPDEFS:.def=.rul)
25 PREBUILD += $(PEEPRULES)
27 all: $(PREBUILD) dep $(LIB)
29 include $(top_builddir)Makefile.common
37 $(AWK) -f $(srcdir)/../SDCCpeeph.awk $< > $@
41 Makefile.dep: $(PREBUILD) Makefile $(SOURCES) $(SPECIAL)
42 $(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) >Makefile.dep
44 # don't include Makefile.dep for the listed targets:
45 ifeq "$(findstring $(MAKECMDGOALS),clean distclean)" ""
49 include $(srcdir)/../port-clean.mk