CC=cc
CFLAGS=$(ABI) -g -DHAVE_LLONG
ABI=
# LDFLAGS = -L/usr/local/lib -lefence
# Add to CFLAGS:
# -pg for profiling
# -DDEBUG for lexical analysis
# -DDEBUG2 for declaration parsing
# -DDEBUG3 for expression parsing (type promotions 'n stuff)
# -DDEBUG4 for intermediate code display
# -DDEBUG6 for register logging
# -DNO_EXPR to disable expression parser
CPPOBJ = \
defs.o \
error.o \
lex.o \
token.o \
type.o \
libnwcc.o \
evalexpr.o \
n_libc.c \
cpp_main.o
CCOBJ = \
cc_main.o \
cfgfile.o \
driver.o \
exectools.o \
n_libc.o \
misc.o
CC1OBJ = \
amd64_emit_gas.o \
amd64_emit_yasm.o \
amd64_gen.o \
analyze.o \
attribute.o \
backend.o \
builtins.o \
cc1_main.o \
control.o \
debug.o \
decl.o \
decl_adv.o \
defs.o \
dwarf.o \
error.o \
exectools.o \
evalexpr.o \
expr.o \
functions.o \
icode.o \
icodeinstr.o \
inlineasm.o \
lex.o \
libnwcc.o \
n_libc.o \
mips_emit_as.o \
mips_gen.o \
misc.o \
numlimits.o \
power_gen.o \
power_emit_as.o \
reg.o \
scope.o \
sparc_emit_as.o \
sparc_gen.o \
stack.o \
subexpr.o \
symlist.o \
token.o \
type.o \
typemap.o \
x86_gen.o \
x86_emit_gas.o \
x86_emit_nasm.o \
x87_nonsense.o
SNAKEOBJ = \
snake_driver.o \
snake_main.o
SWEEPEROBJ = \
sweeper.o
nwcc: $(CCOBJ) $(CC1OBJ) $(SNAKEOBJ) $(SWEEPEROBJ) libnwcc.o
$(CC) $(CFLAGS) -DEXTERNAL_USE libnwcc.c -c -o extlibnwcc.o
$(CC) $(CFLAGS) $(CCOBJ) -o nwcc $(LDFLAGS)
$(CC) $(CFLAGS) $(CC1OBJ) -o nwcc1 $(LDFLAGS)
$(CC) $(CFLAGS) $(SNAKEOBJ) -o snake -lpthread
$(CC) $(CFLAGS) $(SWEEPEROBJ) -o sweeper
:
: All done, you may type "make install" now!
: You should also do "make test" to ensure that
: nwcc really works on this system.
# $(CC) $(CFLAGS) $(CPPOBJ) -o nwcpp $(LDFLAGS)
# May 18 2007: No automatic test run anymore!
# ./test.sh $(ABI)
install:
./install.sh
test:
./test.sh
amd64_emit_gas.o: amd64_emit_gas.c amd64_emit_gas.h
$(CC) $(CFLAGS) amd64_emit_gas.c -c
amd64_emit_yasm.o: amd64_emit_yasm.c amd64_emit_yasm.h
$(CC) $(CFLAGS) amd64_emit_yasm.c -c
amd64_gen.o: amd64_gen.c amd64_gen.h
$(CC) $(CFLAGS) amd64_gen.c -c
analyze.o: analyze.c analyze.h
$(CC) $(CFLAGS) analyze.c -c
attribute.o: attribute.c attribute.h
$(CC) $(CFLAGS) attribute.c -c
backend.o: backend.c backend.h
$(CC) $(CFLAGS) backend.c -c
builtins.o: builtins.c builtins.h
$(CC) $(CFLAGS) builtins.c -c
cc1_main.o: cc1_main.c
$(CC) $(CFLAGS) cc1_main.c -c
cc_main.o: cc_main.c
$(CC) $(CFLAGS) cc_main.c -c
cfgfile.o: cfgfile.c
$(CC) $(CFLAGS) cfgfile.c -c
control.o: control.c
$(CC) $(CFLAGS) control.c -c
debug.o: debug.c debug.h
$(CC) $(CFLAGS) debug.c -c
decl.o: decl.c decl.h
$(CC) $(CFLAGS) decl.c -c
decl_adv.o: decl_adv.c decl_adv.h
$(CC) $(CFLAGS) decl_adv.c -c
defs.o: defs.c defs.h
$(CC) $(CFLAGS) defs.c -c
driver.o: driver.c driver.h
$(CC) $(CFLAGS) driver.c -c
dwarf.o: dwarf.c dwarf.h
$(CC) $(CFLAGS) dwarf.c -c
error.o: error.c error.h
$(CC) $(CFLAGS) error.c -c
exectools.o: exectools.c exectools.h
$(CC) $(CFLAGS) exectools.c -c
evalexpr.o: evalexpr.c evalexpr.h
$(CC) $(CFLAGS) evalexpr.c -c
expr.o: expr.c expr.h
$(CC) $(CFLAGS) expr.c -c
functions.o: functions.c functions.h
$(CC) $(CFLAGS) functions.c -c
icode.o: icode.c icode.h
$(CC) $(CFLAGS) icode.c -c
icodeinstr.o: icodeinstr.c icode.h
$(CC) $(CFLAGS) icodeinstr.c -c
inlineasm.o: inlineasm.c inlineasm.h
$(CC) $(CFLAGS) inlineasm.c -c
lex.o: lex.c lex.h
$(CC) $(CFLAGS) lex.c -c
libnwcc.o: libnwcc.c
$(CC) $(CFLAGS) libnwcc.c -c
mips_gen.o: mips_gen.c mips_gen.h
$(CC) $(CFLAGS) mips_gen.c -c
mips_emit_as.o: mips_emit_as.c mips_emit_as.h
$(CC) $(CFLAGS) mips_emit_as.c -c
misc.o: misc.c misc.h
$(CC) $(CFLAGS) misc.c -c
n_libc.o: n_libc.c n_libc.h
$(CC) $(CFLAGS) n_libc.c -c
numlimits.o: numlimits.c numlimits.h
$(CC) $(CFLAGS) numlimits.c -c
power_gen.o: power_gen.c power_gen.h
$(CC) $(CFLAGS) power_gen.c -c
power_emit_as.o: power_emit_as.c power_emit_as.h
$(CC) $(CFLAGS) power_emit_as.c -c
scope.o: scope.c scope.h
$(CC) $(CFLAGS) scope.c -c
reg.o: reg.c reg.h
$(CC) $(CFLAGS) reg.c -c
snake_driver.o: snake_driver.c snake_driver.h
$(CC) $(CFLAGS) snake_driver.c -c
snake_main.o: snake_main.c
$(CC) $(CFLAGS) snake_main.c -c
sparc_emit_as.o: sparc_emit_as.c sparc_emit_as.h
$(CC) $(CFLAGS) sparc_emit_as.c -c
sparc_gen.o: sparc_gen.c sparc_gen.h
$(CC) $(CFLAGS) sparc_gen.c -c
stack.o: stack.c stack.h
$(CC) $(CFLAGS) stack.c -c
subexpr.o: subexpr.c subexpr.h
$(CC) $(CFLAGS) subexpr.c -c
symlist.o: symlist.c symlist.h
$(CC) $(CFLAGS) symlist.c -c
token.o: token.c token.h
$(CC) $(CFLAGS) token.c -c
type.o: type.c type.h
$(CC) $(CFLAGS) type.c -c
typemap.o: typemap.c typemap.h
$(CC) $(CFLAGS) typemap.c -c
x86_gen.o: x86_gen.c x86_gen.h
$(CC) $(CFLAGS) x86_gen.c -c
x87_nonsense.o: x87_nonsense.c x87_nonsense.h
$(CC) $(CFLAGS) x87_nonsense.c -c
x86_emit_gas.o: x86_emit_gas.c x86_emit_gas.h
$(CC) $(CFLAGS) x86_emit_gas.c -c
x86_emit_nasm.o: x86_emit_nasm.c x86_emit_nasm.h
$(CC) $(CFLAGS) x86_emit_nasm.c -c
# x86_emit_gas.o: x86_emit_gas.c x86_emit_gas.h
# $(CC) $(CFLAGS) x86_emit_gas.c -c
sweeper.o: sweeper.c
$(CC) $(CFLAGS) sweeper.c -c
clean:
rm -rf extlibnwcc.o $(CCOBJ) $(CC1OBJ) $(SNAKEOBJ) nwcc nwcc1 snake
syntax highlighted by Code2HTML, v. 0.9.1