X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FMakefile.in;h=739ada3bbafd8aef5df7f6981c826beb608ccd74;hb=e8af787a7af30e7d132b40a278b1d131032f3b88;hp=bcdf6eccead99c002478967bc50bb64f2a05a7ac;hpb=b09af35f2f1cde7649d3ac4a6f5d2af6d97895a0;p=fw%2Fsdcc diff --git a/src/Makefile.in b/src/Makefile.in index bcdf6ecc..739ada3b 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -2,57 +2,37 @@ # # -# Version -VERSION = @VERSION@ -VERSIONHI = @VERSIONHI@ -VERSIONLO = @VERSIONLO@ -VERSIONP = @VERSIONP@ - -# Programs -SHELL = /bin/sh -CC = @CC@ -CPP = @CPP@ -RANLIB = @RANLIB@ -INSTALL = @INSTALL@ -YACC = @YACC@ -LEX = @LEX@ -AWK = @AWK@ -# Directories PRJDIR = .. -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -datadir = @datadir@ -includedir = @includedir@ -mandir = @mandir@ -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -infodir = @infodir@ -srcdir = @srcdir@ - -# Flags -DEFS = $(subs -DHAVE_CONFIG_H,,@DEFS@) -CPPFLAGS = @CPPFLAGS@ -I$(PRJDIR) -I$(PRJDIR)/support -CFLAGS = @CFLAGS@ -Wall -M_OR_MM = @M_OR_MM@ +include $(PRJDIR)/Makefile.common + +PORTS = mcs51 z80 avr +PORT_LIBS = $(PORTS:%=%/port.a) + LIBS = -lgc @LIBS@ +ifeq ($(HAVE_LIBGC), 1) +else LIBDIRS = -L$(PRJDIR)/support/gc +LIBGC = $(PRJDIR)/support/gc/libgc.a +endif OBJECTS = SDCCy.o SDCClex.o SDCCerr.o SDCChasht.o SDCCmain.o \ SDCCsymt.o SDCCopt.o SDCCast.o SDCCmem.o SDCCval.o \ - SDCCralloc.o SDCCicode.o SDCCbitv.o SDCCset.o SDCClabel.o \ + SDCCicode.o SDCCbitv.o SDCCset.o SDCClabel.o \ SDCCBBlock.o SDCCloop.o SDCCcse.o SDCCcflow.o SDCCdflow.o \ - SDCClrange.o SDCCptropt.o SDCCgen51.o SDCCpeeph.o SDCCglue.o spawn.o + SDCClrange.o SDCCptropt.o SDCCpeeph.o SDCCglue.o spawn.o \ + asm.o + SOURCES = $(patsubst %.o,%.c,$(OBJECTS)) TARGET = $(PRJDIR)/bin/sdcc - # Compiling entire program or any subproject # ------------------------------------------ -all: checkconf $(PRJDIR)/support/gc/libgc.a $(TARGET) +all: ports checkconf $(LIBGC) $(TARGET) + +ports: + for i in $(PORTS); do $(MAKE) -C $$i; done $(PRJDIR)/support/gc/libgc.a: cd $(PRJDIR)/support/gc && $(MAKE) @@ -99,21 +79,20 @@ include clean.mk # My rules # -------- -$(TARGET): $(OBJECTS) - $(CC) -o $@ $(OBJECTS) $(LIBDIRS) $(LIBS) +$(TARGET): $(OBJECTS) $(PORT_LIBS) + $(CC) -o $@ $(OBJECTS) $(PORT_LIBS) $(LIBDIRS) $(LIBS) .c.o: $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ +SDCCy.h: SDCCy.c + SDCCy.c: SDCC.y $(YACC) -d -v -o $@ $< SDCClex.c: SDCC.lex SDCCy.h $(LEX) -t $< >$@ -SDCCpeeph.rul: SDCCpeeph.def - $(AWK) -f SDCCpeeph.awk SDCCpeeph.def > SDCCpeeph.rul - .y.c: rm -f $*.cc $*.h $(YACC) -d $<