1 .SUFFIXES
: .bin .o .o64 .obj .obj64 .exe .asm .lst .pl
4 NASMOPT
= -Ox
-I..
/misc
$(OPT
)
6 TESTS
= $(wildcard *.asm
)
14 $(NASM
) $(NASMOPT
) -f bin
-o
$@
-l
$*.lst
$<
17 $(NASM
) $(NASMOPT
) -f ith
-o
$@
-l
$*.lst
$<
20 $(NASM
) $(NASMOPT
) -f srec
-o
$@
-l
$*.lst
$<
23 $(NASM
) $(NASMOPT
) -f elf32
-o
$@
-l
$*.lst
$<
26 $(NASM
) $(NASMOPT
) -f elf64
-o
$@
-l
$*.lst
$<
29 $(NASM
) $(NASMOPT
) -f obj
-o
$@
-l
$*.lst
$<
31 %.od
: %.obj ..
/misc
/omfdump
32 ..
/misc
/omfdump
$< > $@
35 $(NASM
) $(NASMOPT
) -f coff
-o
$@
-l
$*.lst
$<
37 %.win32
: %.asm
$(NASM
)
38 $(NASM
) $(NASMOPT
) -f win32
-o
$@
-l
$*.lst
$<
40 %.win64
: %.asm
$(NASM
)
41 $(NASM
) $(NASMOPT
) -f win64
-o
$@
-l
$*.lst
$<
44 $(NASM
) $(NASMOPT
) -f macho32
-o
$@
-l
$*.lst
$<
47 $(NASM
) $(NASMOPT
) -f macho64
-o
$@
-l
$*.lst
$<
50 $(NASM
) $(NASMOPT
) -f dbg
-o
$@
-l
$*.lst
$<
56 $(NASM
) $(NASMOPT
) -E
-o
$@
$<
60 golden
: performtest.pl
$(TESTS
)
61 $(PERL
) performtest.pl
--golden
--nasm
='$(NASM)' $(TESTS
)
63 test: performtest.pl
$(NASM
) $(TESTS
)
64 $(PERL
) performtest.pl
--nasm
='$(NASM)' $(TESTS
)
66 diff
: performtest.pl
$(NASM
) $(TESTS
)
67 $(PERL
) performtest.pl
--diff
--nasm
='$(NASM)' $(TESTS
)
70 $(RM_F
) *.com
*.o
*.o64
*.obj
*.win32
*.win64
*.exe
*.lst
*.bin
71 $(RM_F
) *.dbg
*.coff
*.ith
*.srec
*.mo32
*.mo64
*.i
73 $(RM_F
) elftest elftest64
79 # Test for ELF32 shared libraries; assumes an x86 Linux system
81 elfso.o
: elfso.asm
$(NASM
)
82 $(NASM
) $(NASMOPT
) -f elf32
-F stabs
-o
$@
-l
$*.lst
$<
85 $(LD
) -m elf_i386
-shared
-o
$@
$<
87 elftest
: elftest.c elfso.so
88 $(CC
) -g
-m32
-o
$@
$^
89 -env LD_LIBRARY_PATH
=.
:$$LD_LIBRARY_PATH .
/elftest
92 # Test for ELF64 shared libraries; assumes an x86-64 Linux system
94 elf64so.o
: elf64so.asm
$(NASM
)
95 $(NASM
) $(NASMOPT
) -f elf64
-F dwarf
-o
$@
-l
$*.lst
$<
98 $(LD
) -shared
-o
$@
$<
100 elftest64
: elftest64.c elf64so.so
102 -env LD_LIBRARY_PATH
=.
:$$LD_LIBRARY_PATH .
/elftest64