7 include $(PRJDIR)/Makefile.common
10 PORT_LIBS = $(PORTS:%=%/port.a)
13 LIBDIRS = -L$(PRJDIR)/support/gc
15 OBJECTS = SDCCy.o SDCClex.o SDCCerr.o SDCChasht.o SDCCmain.o \
16 SDCCsymt.o SDCCopt.o SDCCast.o SDCCmem.o SDCCval.o \
17 SDCCicode.o SDCCbitv.o SDCCset.o SDCClabel.o \
18 SDCCBBlock.o SDCCloop.o SDCCcse.o SDCCcflow.o SDCCdflow.o \
19 SDCClrange.o SDCCptropt.o SDCCpeeph.o SDCCglue.o spawn.o
20 SOURCES = $(patsubst %.o,%.c,$(OBJECTS))
22 TARGET = $(PRJDIR)/bin/sdcc
24 # Compiling entire program or any subproject
25 # ------------------------------------------
26 all: ports checkconf $(PRJDIR)/support/gc/libgc.a $(TARGET)
29 for i in $(PORTS); do $(MAKE) -C $$i; done
31 $(PRJDIR)/support/gc/libgc.a:
32 cd $(PRJDIR)/support/gc && $(MAKE)
35 # Compiling and installing everything and runing test
36 # ---------------------------------------------------
37 install: all installdirs
38 $(INSTALL) -s $(TARGET) $(bindir)/sdcc
41 # Deleting all the installed files
42 # --------------------------------
47 # Performing self-test
48 # --------------------
52 # Performing installation test
53 # ----------------------------
57 # Creating installation directories
58 # ---------------------------------
60 $(INSTALL) -d $(bindir)
63 # Creating dependencies
64 # ---------------------
67 Makefile.dep: $(SOURCES) *.h $(PRJDIR)/*.h
68 $(CPP) $(CPPFLAGS) $(M_OR_MM) $(SOURCES) >Makefile.dep
76 $(TARGET): $(OBJECTS) $(PORT_LIBS)
77 $(CC) -o $@ $(OBJECTS) $(PORT_LIBS) $(LIBDIRS) $(LIBS)
80 $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
85 $(YACC) -d -v -o $@ $<
87 SDCClex.c: SDCC.lex SDCCy.h
90 SDCCpeeph.rul: SDCCpeeph.def
91 $(AWK) -f SDCCpeeph.awk SDCCpeeph.def > SDCCpeeph.rul
104 # Remaking configuration
105 # ----------------------
107 @if [ -f $(PRJDIR)/devel ]; then\
108 $(MAKE) -f $(srcdir)/conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" \
112 # End of main_in.mk/main.mk