]>
Commit | Line | Data |
---|---|---|
14c7c974 A |
1 | |
2 | DIR = nasm | |
3 | include ../MakePaths.dir | |
4 | ||
5 | # Don't install in the usual place. Currently it's only | |
6 | # needed for building boot0, boot1, boot1f, and nullboot1. | |
7 | #MANINSTALLDIR = $(DSTROOT)/usr/share/man/man1 | |
8 | #INSTALLDIR = $(DSTROOT)/usr/local/bin | |
9 | MANINSTALLDIR = $(SYMROOT) | |
10 | INSTALLDIR = $(SYMROOT) | |
11 | ||
12 | OPTIM = -O2 | |
13 | CFLAGS = $(OPTIM) -g -Wall -traditional-cpp | |
14 | DEFINES= | |
15 | INC = -I. | |
16 | ifneq "" "$(wildcard /bin/mkdirs)" | |
17 | MKDIRS = /bin/mkdirs | |
18 | else | |
19 | MKDIRS = /bin/mkdir -p | |
20 | endif | |
21 | ||
22 | VPATH = $(OBJROOT):$(SYMROOT) | |
23 | ||
24 | NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o \ | |
25 | parser.o outform.o outbin.o outaout.o outcoff.o outelf.o \ | |
26 | outobj.o outas86.o outrdf.o outdbg.o preproc.o listing.o \ | |
27 | eval.o | |
28 | ||
29 | NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o | |
30 | ||
31 | CFILES = nasm.c nasmlib.c float.c insnsa.c assemble.c labels.c \ | |
32 | parser.c outform.c outbin.c outaout.c outcoff.c outelf.c \ | |
33 | outobj.c outas86.c outrdf.c outdbg.c preproc.c listing.c \ | |
34 | eval.c ndisasm.c disasm.c sync.c insnsd.c | |
35 | ||
36 | HFILES = nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \ | |
37 | outform.h listing.h eval.h insns.h sync.h disasm.h float.h | |
38 | ||
39 | OTHERFILES = Makefile | |
40 | ||
41 | ALLSRC = $(CFILES) $(HFILES) $(OTHERFILES) | |
42 | ||
43 | DIRS_NEEDED = $(OBJROOT) $(SYMROOT) | |
44 | ||
45 | all: $(DIRS_NEEDED) nasm ndisasm installman | |
46 | ||
47 | nasm: $(NASM) | |
48 | $(CC) -o $(INSTALLDIR)/nasm $(NASM) | |
49 | ||
50 | ndisasm: $(NDISASM) | |
51 | $(CC) -o $(INSTALLDIR)/ndisasm $(NDISASM) | |
52 | ||
53 | installman: nasm.1 ndisasm.1 | |
54 | cp nasm.1 $(MANINSTALLDIR) | |
55 | cp ndisasm.1 $(MANINSTALLDIR) | |
56 | ||
57 | # These two source files are automagically generated from a single | |
58 | # instruction-table file by a Perl script. They're distributed, | |
59 | # though, so it isn't necessary to have Perl just to recompile NASM | |
60 | # from the distribution. | |
61 | ||
62 | insnsa.c insnsd.c: insns.dat insns.pl | |
63 | perl insns.pl insns.dat | |
64 | ||
65 | # This source file is generated from the standard macros file | |
66 | # `standard.mac' by another Perl script. Again, it's part of the | |
67 | # standard distribution. | |
68 | ||
69 | macros.c: standard.mac macros.pl | |
70 | perl macros.pl standard.mac | |
71 | ||
72 | clean:: | |
73 | rm -rf $(SYMROOT)/nasm $(SYMROOT)/ndisasm | |
74 | ||
75 | $(INSTALLDIR) $(MANINSTALLDIR): | |
76 | $(MKDIRS) $@ | |
77 | ||
78 | installhdrs:: $(INSTALLDIR) $(MANINSTALLDIR) | |
79 | ||
80 | include ../MakeInc.dir | |
81 | ||
82 | # dependencies | |
83 | -include $(OBJROOT)/Makedep |