69 lines
1.5 KiB
Makefile
69 lines
1.5 KiB
Makefile
PRJDIR = ..
|
|
|
|
# !include $(PRJDIR)/Makefile.common
|
|
|
|
!include ..\Bcc.inc
|
|
CFLAGS = -I. -I.. -I..\support
|
|
|
|
PORTS = mcs51 z80 avr ds390 pic izt
|
|
PORT_LIBS = mcs51/port.lib z80/port.lib avr/port.lib ds390/port.lib pic/port.lib izt/port.lib
|
|
|
|
#LIBS = -lgc
|
|
#LIBDIRS = -L$(PRJDIR)/support/gc
|
|
#LIBGC = $(PRJDIR)/support/gc/gc.lib
|
|
LIBS=
|
|
LIBDIRS=
|
|
LIBGC=
|
|
|
|
OBJECTS = SDCCy.obj SDCClex.obj SDCChasht.obj SDCCmain.obj \
|
|
SDCCsymt.obj SDCCopt.obj SDCCast.obj SDCCmem.obj SDCCval.obj \
|
|
SDCCicode.obj SDCCbitv.obj SDCCset.obj SDCClabel.obj \
|
|
SDCCBBlock.obj SDCCloop.obj SDCCcse.obj SDCCcflow.obj SDCCdflow.obj \
|
|
SDCClrange.obj SDCCptropt.obj SDCCpeeph.obj SDCCglue.obj \
|
|
asm.obj
|
|
|
|
SLIBOBJS = $(SLIB)\SDCCerr.obj $(SLIB)\NewAlloc.obj $(SLIB)\MySystem.obj $(SLIB)\BuildCmd.obj
|
|
|
|
TARGET = $(PRJDIR)/bin/sdcc.exe
|
|
|
|
# Compiling entire program or any subproject
|
|
# ------------------------------------------
|
|
all: $(LIBGC) $(TARGET)
|
|
|
|
ports:
|
|
for i in $(PORTS); do $(MAKE) -C $$i; done
|
|
|
|
#$(PRJDIR)/support/gc/libgc.a:
|
|
# cd $(PRJDIR)/support/gc && $(MAKE)
|
|
|
|
|
|
!include Makefile.dep
|
|
#!include clean.mk
|
|
|
|
|
|
# My rules
|
|
# --------
|
|
$(TARGET): $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS)
|
|
bcc32 -e$(TARGET) $(OBJECTS) $(SLIBOBJS) $(PORT_LIBS) $(LIBGC)
|
|
|
|
SDCCy.h: SDCCy.c
|
|
|
|
SDCCy.c: SDCC.y
|
|
$(YACC) -d -v -o $@ $<
|
|
|
|
SDCClex.c: SDCC.lex SDCCy.h
|
|
$(LEX) -t $< >$@
|
|
|
|
.y.c:
|
|
rm -f $*.cc $*.h
|
|
$(YACC) -d $<
|
|
mv y.tab.c $*.cc
|
|
mv y.tab.h $*.h
|
|
|
|
.l.c:
|
|
rm -f $*.cc
|
|
$(LEX) -t $< >$*.cc
|
|
|
|
|
|
|