Skip to content

Commit

Permalink
merge makefiles
Browse files Browse the repository at this point in the history
  • Loading branch information
WalterBright committed Aug 10, 2012
1 parent d58edce commit 8b05902
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 37 deletions.
75 changes: 57 additions & 18 deletions src/posix.mak
@@ -1,4 +1,3 @@
# NOTE: need to validate solaris behavior
ifeq (,$(TARGET))
OS:=$(shell uname)
OSVER:=$(shell uname -r)
Expand All @@ -25,11 +24,31 @@ ifeq (,$(TARGET))
endif
endif

ifeq (,$(TARGET_CPU))
$(warning no cpu specified, assuming X86)
TARGET_CPU=X86
endif

ifeq (X86,$(TARGET_CPU))
TARGET_CH = $C/code_x86.h
TARGET_OBJS = cg87.o cgxmm.o cgsched.o cod1.o cod2.o cod3.o cod4.o ptrntab.o
else
ifeq (stub,$(TARGET_CPU))
TARGET_CH = $C/code_stub.h
TARGET_OBJS = platform_stub.o
else
$(error unknown TARGET_CPU: '$(TARGET_CPU)')
endif
endif

C=backend
TK=tk
ROOT=root

MODEL=32
ifneq (x,x$(MODEL))
MODEL_FLAG=-m$(MODEL)
endif

ifeq (OSX,$(TARGET))
SDKDIR=/Developer/SDKs
Expand All @@ -52,7 +71,7 @@ else
endif

HOST_CC=g++
CC=$(HOST_CC) -m$(MODEL) $(TARGET_CFLAGS)
CC=$(HOST_CC) $(MODEL_FLAG) $(TARGET_CFLAGS)

#OPT=-g -g3
#OPT=-O2
Expand All @@ -68,27 +87,29 @@ CFLAGS = $(GFLAGS) -I$(ROOT) -DMARS=1 -DTARGET_$(TARGET)=1
MFLAGS = $(GFLAGS) -I$C -I$(TK) -I$(ROOT) -DMARS=1 -DTARGET_$(TARGET)=1

CH= $C/cc.h $C/global.h $C/oper.h $C/code.h $C/type.h \
$C/dt.h $C/cgcv.h $C/el.h $C/iasm.h $C/obj.h
$C/dt.h $C/cgcv.h $C/el.h $C/obj.h $(TARGET_CH)

DMD_OBJS = \
access.o array.o attrib.o bcomplex.o blockopt.o \
cast.o code.o cg.o cg87.o cgxmm.o cgcod.o cgcs.o cgelem.o cgen.o \
cgreg.o cgsched.o class.o cod1.o cod2.o cod3.o cod4.o cod5.o \
cast.o code.o cg.o cgcod.o cgcs.o cgelem.o cgen.o \
cgreg.o class.o cod5.o \
constfold.o irstate.o cond.o debug.o \
declaration.o dsymbol.o dt.o dump.o e2ir.o ee.o eh.o el.o \
dwarf.o enum.o evalu8.o expression.o func.o gdag.o gflow.o \
glocal.o gloop.o glue.o gnuc.o go.o gother.o html.o iasm.o id.o \
glocal.o gloop.o glue.o gnuc.o go.o gother.o iasm.o id.o \
identifier.o impcnvtab.o import.o inifile.o init.o inline.o \
lexer.o link.o mangle.o mars.o rmem.o module.o msc.o mtype.o \
nteh.o cppmangle.o opover.o optimize.o os.o out.o outbuf.o \
parse.o ph.o ptrntab.o root.o rtlsym.o s2ir.o scope.o statement.o \
parse.o ph.o root.o rtlsym.o s2ir.o scope.o statement.o \
stringtable.o struct.o csymbol.o template.o tk.o tocsym.o todt.o \
type.o typinf.o util.o var.o version.o strtold.o utf.o staticassert.o \
unialpha.o toobj.o toctype.o toelfdebug.o entity.o doc.o macro.o \
toobj.o toctype.o toelfdebug.o entity.o doc.o macro.o \
hdrgen.o delegatize.o aa.o ti_achar.o toir.o interpret.o traits.o \
builtin.o clone.o aliasthis.o \
man.o arrayop.o port.o response.o async.o json.o speller.o aav.o unittests.o \
imphint.o argtypes.o ti_pvoid.o apply.o sideeffect.o
imphint.o argtypes.o ti_pvoid.o apply.o sideeffect.o \
html.o unialpha.o \
$(TARGET_OBJS)

ifeq (OSX,$(TARGET))
DMD_OBJS += libmach.o machobj.o
Expand All @@ -107,31 +128,33 @@ SRC = win32.mak posix.mak \
s2ir.c todt.c e2ir.c util.c identifier.h parse.h \
scope.h enum.h import.h mars.h module.h mtype.h dsymbol.h \
declaration.h lexer.h expression.h irstate.h statement.h eh.c \
utf.h utf.c staticassert.h staticassert.c unialpha.c \
utf.h utf.c staticassert.h staticassert.c \
typinf.c toobj.c toctype.c tocvdebug.c toelfdebug.c entity.c \
doc.h doc.c macro.h macro.c hdrgen.h hdrgen.c arraytypes.h \
delegatize.c toir.h toir.c interpret.c traits.c cppmangle.c \
builtin.c clone.c lib.h libomf.c libelf.c libmach.c arrayop.c \
aliasthis.h aliasthis.c json.h json.c unittests.c imphint.c \
argtypes.c apply.c sideeffect.c \
scanmscoff.c \
$C/cdef.h $C/cc.h $C/oper.h $C/ty.h $C/optabgen.c \
$C/global.h $C/code.h $C/type.h $C/dt.h $C/cgcv.h \
$C/el.h $C/iasm.h $C/rtlsym.h $C/html.h \
$C/el.h $C/iasm.h $C/rtlsym.h \
$C/bcomplex.c $C/blockopt.c $C/cg.c $C/cg87.c $C/cgxmm.c \
$C/cgcod.c $C/cgcs.c $C/cgcv.c $C/cgelem.c $C/cgen.c $C/cgobj.c \
$C/cgreg.c $C/var.c $C/strtold.c \
$C/cgsched.c $C/cod1.c $C/cod2.c $C/cod3.c $C/cod4.c $C/cod5.c \
$C/code.c $C/symbol.c $C/debug.c $C/dt.c $C/ee.c $C/el.c \
$C/evalu8.c $C/go.c $C/gflow.c $C/gdag.c \
$C/gother.c $C/glocal.c $C/gloop.c $C/html.c $C/newman.c \
$C/gother.c $C/glocal.c $C/gloop.c $C/newman.c \
$C/nteh.c $C/os.c $C/out.c $C/outbuf.c $C/ptrntab.c $C/rtlsym.c \
$C/type.c $C/melf.h $C/mach.h $C/bcomplex.h \
$C/type.c $C/melf.h $C/mach.h $C/mscoff.h $C/bcomplex.h \
$C/cdeflnx.h $C/outbuf.h $C/token.h $C/tassert.h \
$C/elfobj.c $C/cv4.h $C/dwarf2.h $C/exh.h $C/go.h \
$C/dwarf.c $C/dwarf.h $C/aa.h $C/aa.c $C/tinfo.h $C/ti_achar.c \
$C/ti_pvoid.c \
$C/machobj.c \
$C/ti_pvoid.c $C/platform_stub.c $C/code_x86.h $C/code_stub.h \
$C/machobj.c $C/mscoffobj.c \
$C/xmm.h $C/obj.h \
$C/html.h $C/html.c $C/unialpha.c \
$(TK)/filespec.h $(TK)/mem.h $(TK)/list.h $(TK)/vec.h \
$(TK)/filespec.c $(TK)/mem.c $(TK)/vec.c $(TK)/list.c \
$(ROOT)/root.h $(ROOT)/root.c $(ROOT)/array.c \
Expand All @@ -141,13 +164,14 @@ SRC = win32.mak posix.mak \
$(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c \
$(ROOT)/aav.h $(ROOT)/aav.c \
$(ROOT)/longdouble.h $(ROOT)/longdouble.c \
$(ROOT)/speller.h $(ROOT)/speller.c
$(ROOT)/speller.h $(ROOT)/speller.c \
$(TARGET_CH)


all: dmd

dmd: $(DMD_OBJS)
$(ENVP) $(HOST_CC) -o dmd -m$(MODEL) $(COV) $(DMD_OBJS) $(LDFLAGS)
$(ENVP) $(HOST_CC) -o dmd $(MODEL_FLAG) $(COV) $(DMD_OBJS) $(LDFLAGS)

clean:
rm -f $(DMD_OBJS) dmd optab.o id.o impcnvgen idgen id.c id.h \
Expand Down Expand Up @@ -225,6 +249,9 @@ blockopt.o: $C/blockopt.c
builtin.o: builtin.c
$(CC) -c $(CFLAGS) $<

canthrow.o: canthrow.c
$(CC) -c $(CFLAGS) $<

cast.o: cast.c
$(CC) -c $(CFLAGS) $<

Expand Down Expand Up @@ -417,6 +444,9 @@ inline.o: inline.c
interpret.o: interpret.c
$(CC) -c $(CFLAGS) $<

intrange.o: intrange.h intrange.c
$(CC) -c $(CFLAGS) intrange.c

json.o: json.c
$(CC) -c $(CFLAGS) $<

Expand All @@ -429,6 +459,9 @@ libelf.o: libelf.c $C/melf.h
libmach.o: libmach.c $C/mach.h
$(CC) -c $(CFLAGS) -I$C $<

libmscoff.o: libmscoff.c $C/mscoff.h
$(CC) -c $(CFLAGS) -I$C $<

link.o: link.c
$(CC) -c $(CFLAGS) $<

Expand All @@ -453,6 +486,9 @@ rmem.o: $(ROOT)/rmem.c
module.o: module.c $C/html.h
$(CC) -c $(CFLAGS) -I$C $<

mscoffobj.o: $C/mscoffobj.c $C/mscoff.h
$(CC) -c $(MFLAGS) $<

msc.o: msc.c $(CH) mars.h
$(CC) -c $(MFLAGS) $<

Expand Down Expand Up @@ -483,6 +519,9 @@ parse.o: parse.c
ph.o: ph.c
$(CC) -c $(MFLAGS) $<

platform_stub.o: $C/platform_stub.c
$(CC) -c $(MFLAGS) $<

port.o: $(ROOT)/port.c
$(CC) -c $(GFLAGS) -I$(ROOT) $<

Expand Down Expand Up @@ -520,7 +559,7 @@ stringtable.o: $(ROOT)/stringtable.c
$(CC) -c $(GFLAGS) -I$(ROOT) $<

strtold.o: $C/strtold.c
gcc -m$(MODEL) -I$(ROOT) -c $<
gcc $(MODEL_FLAG) -I$(ROOT) -c $<

struct.o: struct.c
$(CC) -c $(CFLAGS) $<
Expand Down
46 changes: 27 additions & 19 deletions src/win32.mak
Expand Up @@ -144,7 +144,7 @@ MFLAGS=-I$C;$(TK) $(OPT) -DMARS -cpp $(DEBUG) -e -wx

defaulttarget: debdmd

#########################################
############################### Rule Variables ###############################

# D front end
OBJ1= mars.obj enum.obj struct.obj dsymbol.obj import.obj id.obj \
Expand Down Expand Up @@ -209,7 +209,8 @@ SRCS= mars.c enum.c struct.c dsymbol.c import.c idgen.c impcnvgen.c utf.h \

# D back end
BACKSRC= $C\cdef.h $C\cc.h $C\oper.h $C\ty.h $C\optabgen.c \
$C\global.h $C\code.h $C\type.h $C\dt.h $C\cgcv.h \
$C\global.h $C\code.h $C\code_x86.h $C/code_stub.h $C/platform_stub.c \
$C\type.h $C\dt.h $C\cgcv.h \
$C\el.h $C\iasm.h $C\rtlsym.h \
$C\bcomplex.c $C\blockopt.c $C\cg.c $C\cg87.c $C\cgxmm.c \
$C\cgcod.c $C\cgcs.c $C\cgcv.c $C\cgelem.c $C\cgen.c $C\cgobj.c \
Expand Down Expand Up @@ -248,6 +249,12 @@ ROOTSRC= $(ROOT)\root.h $(ROOT)\root.c $(ROOT)\array.c \
# $(ROOT)\gc\bits.h $(ROOT)\gc\gccbitops.h $(ROOT)\gc\linux.c $(ROOT)\gc\os.h \
# $(ROOT)\gc\win32.c

# Header files
#TOTALH=total.sym # Use with pre-compiled headers
TOTALH=id.h
CH= $C\cc.h $C\global.h $C\oper.h $C\code.h $C\code_x86.h $C\type.h $C\dt.h $C\cgcv.h \
$C\el.h $C\iasm.h $C\obj.h

# Makefiles
MAKEFILES=win32.mak posix.mak

Expand All @@ -269,15 +276,12 @@ debdmd:
$(MAKE) OPT= "DEBUG=-D -g -DUNITTEST" LFLAGS=-L/ma/co dmd.exe

$(TARGET).exe : $(OBJS) win32.mak
dmc -o$(TARGET).exe $(OBJS) -cpp -mn -Ar $(LFLAGS)
$(CC) -o$(TARGET).exe $(OBJS) -cpp -mn -Ar $(LFLAGS)

################################ Unit Tests ##################################


##################### INCLUDE MACROS #####################

CCH=
#TOTALH=$(CCH) total.sym
TOTALH=$(CCH) id.h
CH= $C\cc.h $C\global.h $C\oper.h $C\code.h $C\type.h $C\dt.h $C\cgcv.h $C\el.h $C\iasm.h $C\obj.h

############################ Maintenance Targets #############################

Expand All @@ -294,14 +298,18 @@ install-copy:
$(CP) dmd.exe $(INSTALL)\windows\bin\
$(CP) phobos\phobos.lib $(INSTALL)\windows\lib
$(CP) $(SRCS) $(INSTALL)\src\dmd
$(CP) $(ROOTSRC) $(INSTALL)\src\dmd\root\
$(CP) $(TKSRC) $(INSTALL)\src\dmd\tk\
$(CP) $(BACKSRC) $(INSTALL)\src\dmd\backend\
$(CP) $(MAKEFILES) $(INSTALL)\src\dmd\
$(CP) gpl.txt $(INSTALL)\src\dmd\
$(CP) readme.txt $(INSTALL)\src\dmd\
$(CP) artistic.txt $(INSTALL)\src\dmd\
$(CP) backendlicense.txt $(INSTALL)\src\dmd\
$(CP) $(ROOTSRC) $(INSTALL)\src\dmd\root
$(CP) $(TKSRC) $(INSTALL)\src\dmd\tk
$(CP) $(BACKSRC) $(INSTALL)\src\dmd\backend
$(CP) $(MAKEFILES) $(INSTALL)\src\dmd
$(CP) gpl.txt $(INSTALL)\src\dmd\gpl.txt
$(CP) readme.txt $(INSTALL)\src\dmd\readme.txt
$(CP) artistic.txt $(INSTALL)\src\dmd\artistic.txt
$(CP) backendlicense.txt $(INSTALL)\src\dmd\backendlicense.txt

install-clean:
$(DEL) /s/q $(INSTALL)\*
$(RD) /s/q $(INSTALL)

detab:
$(DETAB) $(SRCS) $(ROOTSRC) $(TKSRC) $(BACKSRC)
Expand All @@ -321,15 +329,15 @@ zip: detab tolf $(MAKEFILES)

elxxx.c cdxxx.c optab.c debtab.c fltables.c tytab.c : \
$C\cdef.h $C\cc.h $C\oper.h $C\ty.h $C\optabgen.c
$(CC) -cpp -ooptabgen.exe $C\optabgen -DMARS -I$(TK) $(WINLIBS) #-L$(LINKS)
$(CC) -cpp -ooptabgen.exe $C\optabgen -DMARS -DTARGET_CPU_X86=1 -I$(TK) $(WINLIBS) #-L$(LINKS)
optabgen

impcnvtab.c : impcnvgen.c
$(CC) -I$(ROOT) -cpp impcnvgen
$(CC) -I$(ROOT) -cpp -DTARGET_CPU_X86=1 impcnvgen
impcnvgen

id.h id.c : idgen.c
$(CC) -cpp idgen
$(CC) -cpp -DTARGET_CPU_X86=1 idgen
idgen

############################# Intermediate Rules ############################
Expand Down

0 comments on commit 8b05902

Please sign in to comment.