
# DMakefile
#
# (c)Copyright 1992 Obvious Implementations Corp, All Rights Reserved
# CONFIDENTIAL, This is unpublished proprietary source code owned by
# Obvious Implementations Corp.  This material contains trade secrets of 
# Obvious Implementations Corp.

SRCS= main.c module.c reloc.c sym.c subs.c final.c jump.c hash.a
MODULE= dlink
EXE= dlink

OD1= dtmp:comp1/$(MODULE)/
OD2= dtmp:comp2/$(MODULE)/
ODC= dtmp:compc/$(MODULE)/
ODR= dtmp:compr/$(MODULE)/
ODF= dtmp:compf/$(MODULE)/
ODN= /tmp/comp/$(MODULE)/

ODIRS= $(OD1) $(OD2) $(ODC) $(ODR) $(ODF)

EXE1= dcc:bin/amiga/bin1/lc_$(EXE)
EXE2= dcc:bin/amiga/bin2/xc_$(EXE)
EXEC= dcc:bin/amiga/bincom/$(EXE)
EXER= dcc:bin/amiga/binreg/$(EXE)
EXEF= dcc:bin/amiga/binfree/$(EXE)
EXEN= ../bin/next/$(EXE)

CFLAGS1= -iinclude: -idinclude: -i$(OD1) -v -dDEBUG -dNO_ASM
CFLAGS2= -ms -r -I$(OD2) -DDEBUG -DREGISTERED -DCOMMERCIAL
CFLAGSC= -ms -r -mRR -I$(ODC) -proto -DREGISTERED -DCOMMERCIAL
CFLAGSR= -ms -r -mRR -I$(ODR) -proto -DREGISTERED
CFLAGSF= -ms -r -mRR -I$(ODF) -proto -DFREEWARE
CFLAGSN= -O2 -I.. -I$(ODN) -L../suplib -DREGISTERED -DCOMMERCIAL -DNO_ASM

PROTOS1= $(OD1)protos.h
PROTOS2= $(OD2)protos.h
PROTOSC= $(ODC)protos.h
PROTOSR= $(ODR)protos.h
PROTOSF= $(ODF)protos.h
PROTOSN= $(ODN)protos.h

OBJS1 = $(SRCS:"*.c":"$(OD1)*.o")
OBJS2 = $(SRCS:"*.?":"$(OD2)*.o")
OBJSC = $(SRCS:"*.?":"$(ODC)*.o")
OBJSR = $(SRCS:"*.?":"$(ODR)*.o")
OBJSF = $(SRCS:"*.?":"$(ODF)*.o")
OBJSN = $(SRCS:"*.?":"$(ODN)*.o")

default:

pass1: $(OD1:"*/$(MODULE)/":"*") $(OD1) $(PROTOS1) $(EXE1)

pass2: $(OD2:"*/$(MODULE)/":"*") $(OD2) $(PROTOS2) $(EXE2)

com: $(ODC:"*/$(MODULE)/":"*") $(ODC) $(PROTOSC) $(EXEC)

reg: $(ODR:"*/$(MODULE)/":"*") $(ODR) $(PROTOSR) $(EXER)

free: $(ODF:"*/$(MODULE)/":"*") $(ODF) $(PROTOSF) $(EXEF)

next: $(ODN) $(PROTOSN) $(EXEN)

$(EXE1) : $(OBJS1)
    cd $(OD1:"*/":"*")
    blink FROM LIB:c.o %(right:"$(OD1)*":"*") LIB lib:lc.lib lib:amiga20.lib TO %(left) BATCH
    cd

$(EXE2) : $(OBJS2)
    lc_dcc $(CFLAGS2) %(right) -o %(left)

$(EXEC) : $(OBJSC)
    xc_dcc $(CFLAGSC) %(right) -o %(left)

$(EXER) : $(OBJSR)
    xc_dcc $(CFLAGSR) %(right) -o %(left)

$(EXEF) : $(OBJSF)
    xc_dcc $(CFLAGSF) %(right) -o %(left)

$(EXEN) : $(OBJSN)
    cc $(CFLAGSN) %(right) -o %(left) -lamiga
    strip %(left)

$(OBJS1) : $(SRCS:"*.c")
    lc $(CFLAGS1) -o%(left) %(right)

$(OBJS2) : $(SRCS)
    lc_dcc $(CFLAGS2) %(right) -o %(left) -c

$(OBJSC) : $(SRCS)
    xc_dcc $(CFLAGSC) %(right) -o %(left) -c

$(OBJSR) : $(SRCS)
    xc_dcc $(CFLAGSR) %(right) -o %(left) -c

$(OBJSF) : $(SRCS)
    xc_dcc $(CFLAGSF) %(right) -o %(left) -c

$(OBJSN) : $(SRCS)
    cc $(CFLAGSN) %(right) -o %(left) -c

$(PROTOS1) : $(SRCS)
    -delete %(left)
    lc_makeproto -o%(left) %(right)

$(PROTOS2) : $(SRCS)
    -delete %(left)
    lc_makeproto -o%(left) %(right)

$(PROTOSC) : $(SRCS)
    -delete %(left)
    xc_makeproto -o%(left) %(right)

$(PROTOSR) : $(SRCS)
    -delete %(left)
    xc_makeproto -o%(left) %(right)

$(PROTOSF) : $(SRCS)
    -delete %(left)
    xc_makeproto -o%(left) %(right)

$(PROTOSN) : $(SRCS)
    -rm %(left)
    makeproto -o%(left) %(right)

clean:
    -delete $(ODIRS:*/:*) ALL

$(ODIRS:"*/$(MODULE)/":"*") : $(ODIRS:"*/$(MODULE)/":"*")
    makedir %(left)

$(ODIRS) : $(ODIRS)
    makedir %(left:*/:*)

$(ODN) : $(ODN)
    mkdir %(left:*/:*)

clean_next:
    -rm -rf $(OBJSN)



