Script to automagically synchronize the object file lists
[platform/upstream/nasm.git] / Mkfiles / netware.mak
1 # -*- makefile -*- GNU Makefile for NetWare target
2
3 PROOT=.
4 OBJDIR=release
5
6 -include $(OBJDIR)/version.inc
7
8 TARGETS=nasm.nlm ndisasm.nlm
9
10 PERL=perl
11
12 CROSSPREFIX=i586-netware-
13
14 CC=$(CROSSPREFIX)gcc
15 LD=$(CC)
16
17 BINSUFFIX=.nlm
18
19 VERSION=$(NASM_MAJOR_VER).$(NASM_MINOR_VER).$(NASM_SUBMINOR_VER)
20
21 CFLAGS=-g -O2 -Wall -std=c99 -pedantic -D__NETWARE__ -D_POSIX_SOURCE -DHAVE_CONFIG_H -I.
22 LDFLAGS=-Wl,--nlm-description="NASM $(NASM_VER) - the Netwide Assembler (gcc build)"
23 LDFLAGS+=-Wl,--nlm-copyright="NASM is licensed under LGPL."
24 LDFLAGS+=-Wl,--nlm-version=$(VERSION)
25 LDFLAGS+=-Wl,--nlm-kernelspace
26 LDFLAGS+=-Wl,--nlm-posixflag
27 LDFLAGS+=-s
28
29 O = o
30
31 #--- Begin File Lists ---#
32 # Edit in Makefile.in, not here!
33 NASM =  nasm.o nasmlib.o raa.o saa.o \
34         float.o insnsa.o insnsb.o \
35         assemble.o labels.o hashtbl.o crc64.o parser.o \
36         outform.o output/outbin.o \
37         output/outaout.o output/outcoff.o \
38         output/outelf32.o output/outelf64.o \
39         output/outobj.o output/outas86.o output/outrdf2.o \
40         output/outdbg.o output/outieee.o output/outmacho.o \
41         preproc.o quote.o pptok.o macros.o \
42         listing.o eval.o exprlib.o stdscan.o strfunc.o \
43         tokhash.o regvals.o regflags.o
44
45 NDISASM = ndisasm.o disasm.o sync.o nasmlib.o \
46         insnsd.o insnsb.o insnsn.o regs.o regdis.o
47 #--- End File Lists ---#
48
49 NASM_OBJ = $(addprefix $(OBJDIR)/,$(notdir $(NASM))) $(EOLIST)
50 NDIS_OBJ = $(addprefix $(OBJDIR)/,$(notdir $(NDISASM))) $(EOLIST)
51
52 VPATH  = *.c $(PROOT) $(PROOT)/output
53
54
55 all: $(OBJDIR) config.h $(TARGETS)
56
57 $(OBJDIR)/%.o: %.c
58         $(CC) $(CFLAGS) -c -o $@ $<
59
60 nasm$(BINSUFFIX): $(NASM_OBJ)
61         $(LD) $(LDFLAGS) -o $@ $^
62
63 ndisasm$(BINSUFFIX): $(NDIS_OBJ)
64         $(LD) $(LDFLAGS) -o $@ $^
65
66 $(OBJDIR):
67         @mkdir $@
68
69 config.h: $(PROOT)/Mkfiles/netware.mak
70         @echo Creating $@
71         @echo $(DL)/* $@ for NetWare target.$(DL) > $@
72         @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
73         @echo $(DL)** All your changes will be lost!!$(DL) >> $@
74         @echo $(DL)*/$(DL) >> $@
75         @echo $(DL)#ifndef __NETWARE__$(DL) >> $@
76         @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
77         @echo $(DL)#endif$(DL) >> $@
78         @echo $(DL)#define PACKAGE_VERSION "$(NASM_VER)"$(DL) >> $@
79         @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@
80         @echo $(DL)#define HAVE_DECL_STRCASECMP 1$(DL) >> $@
81         @echo $(DL)#define HAVE_DECL_STRICMP 1$(DL) >> $@
82         @echo $(DL)#define HAVE_DECL_STRNCASECMP 1$(DL) >> $@
83         @echo $(DL)#define HAVE_DECL_STRNICMP 1$(DL) >> $@
84         @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
85         @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
86         @echo $(DL)#define HAVE_MEMORY_H 1$(DL) >> $@
87         @echo $(DL)#define HAVE_SNPRINTF 1$(DL) >> $@
88         @echo $(DL)#define HAVE_STDBOOL_H 1$(DL) >> $@
89         @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
90         @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
91         @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
92         @echo $(DL)#define HAVE_STRCSPN 1$(DL) >> $@
93         @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@
94         @echo $(DL)#define HAVE_STRINGS_H 1$(DL) >> $@
95         @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
96         @echo $(DL)#define HAVE_STRNCASECMP 1$(DL) >> $@
97         @echo $(DL)#define HAVE_STRNICMP 1$(DL) >> $@
98         @echo $(DL)#define HAVE_STRSPN 1$(DL) >> $@
99         @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
100         @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
101         @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
102         @echo $(DL)#define HAVE_VSNPRINTF 1$(DL) >> $@
103         @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
104         @echo $(DL)#ifndef _GNU_SOURCE$(DL) >> $@
105         @echo $(DL)#define _GNU_SOURCE 1$(DL) >> $@
106         @echo $(DL)#endif$(DL) >> $@
107         @echo $(DL)#define ldiv __CW_ldiv$(DL) >> $@
108
109 clean:
110         -$(RM) -r $(OBJDIR)
111         -$(RM) config.h
112
113 distclean: clean
114         -$(RM) $(TARGETS)
115
116 $(OBJDIR)/version.inc: $(PROOT)/version $(PROOT)/version.pl $(OBJDIR)
117         @$(PERL) $(PROOT)/version.pl make < $< > $@
118
119 #-- Magic hints to mkdep.pl --#
120 # @object-ending: ".o"
121 # @path-separator: ""
122 # @continuation: "\"
123 #-- Everything below is generated by mkdep.pl - do not edit --#
124 assemble.o: assemble.c assemble.h compiler.h config.h insns.h insnsi.h \
125  nasm.h nasmlib.h regs.h tables.h tokens.h version.h
126 crc64.o: crc64.c compiler.h config.h nasmlib.h
127 disasm.o: disasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \
128  nasmlib.h regdis.h regs.h sync.h tables.h tokens.h version.h
129 eval.o: eval.c compiler.h config.h eval.h float.h insnsi.h labels.h nasm.h \
130  nasmlib.h regs.h version.h
131 exprlib.o: exprlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h regs.h \
132  version.h
133 float.o: float.c compiler.h config.h float.h insnsi.h nasm.h nasmlib.h \
134  regs.h version.h
135 hashtbl.o: hashtbl.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \
136  regs.h version.h
137 insnsa.o: insnsa.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \
138  regs.h tokens.h version.h
139 insnsb.o: insnsb.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \
140  regs.h tokens.h version.h
141 insnsd.o: insnsd.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \
142  regs.h tokens.h version.h
143 insnsn.o: insnsn.c compiler.h config.h insnsi.h tables.h
144 labels.o: labels.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \
145  regs.h version.h
146 snprintf.o: snprintf.c compiler.h config.h nasmlib.h
147 vsnprintf.o: vsnprintf.c compiler.h config.h nasmlib.h
148 listing.o: listing.c compiler.h config.h insnsi.h listing.h nasm.h nasmlib.h \
149  regs.h version.h
150 macros.o: macros.c compiler.h config.h insnsi.h tables.h
151 nasm.o: nasm.c assemble.h compiler.h config.h eval.h float.h insns.h \
152  insnsi.h labels.h listing.h nasm.h nasmlib.h outform.h parser.h pptok.h \
153  preproc.h raa.h regs.h saa.h stdscan.h tokens.h version.h
154 nasmlib.o: nasmlib.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \
155  regs.h tokens.h version.h
156 ndisasm.o: ndisasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \
157  nasmlib.h regs.h sync.h tokens.h version.h
158 outform.o: outform.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
159  regs.h version.h
160 outaout.o: outaout.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
161  raa.h regs.h saa.h stdscan.h version.h
162 outas86.o: outas86.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
163  raa.h regs.h saa.h version.h
164 outbin.o: outbin.c compiler.h config.h eval.h insnsi.h labels.h nasm.h \
165  nasmlib.h outform.h regs.h saa.h stdscan.h version.h
166 outcoff.o: outcoff.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
167  raa.h regs.h saa.h version.h
168 outdbg.o: outdbg.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
169  regs.h version.h
170 outelf32.o: outelf32.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
171  outform.h raa.h regs.h saa.h stdscan.h version.h
172 outelf64.o: outelf64.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
173  outform.h raa.h regs.h saa.h stdscan.h version.h
174 outieee.o: outieee.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
175  regs.h version.h
176 outmacho.o: outmacho.c compiler.h config.h insnsi.h nasm.h nasmlib.h \
177  outform.h raa.h regs.h saa.h version.h
178 outobj.o: outobj.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
179  regs.h stdscan.h version.h
180 outrdf.o: outrdf.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
181  regs.h version.h
182 outrdf2.o: outrdf2.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \
183  rdoff.h regs.h saa.h version.h
184 parser.o: parser.c compiler.h config.h float.h insns.h insnsi.h nasm.h \
185  nasmlib.h parser.h regs.h stdscan.h tables.h tokens.h version.h
186 pptok.o: pptok.c compiler.h config.h hashtbl.h nasmlib.h pptok.h preproc.h
187 preproc.o: preproc.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \
188  pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h version.h
189 quote.o: quote.c compiler.h config.h nasmlib.h quote.h
190 raa.o: raa.c compiler.h config.h nasmlib.h raa.h
191 regdis.o: regdis.c regdis.h regs.h
192 regflags.o: regflags.c compiler.h config.h insnsi.h nasm.h nasmlib.h regs.h \
193  tables.h version.h
194 regs.o: regs.c compiler.h config.h insnsi.h tables.h
195 regvals.o: regvals.c compiler.h config.h insnsi.h tables.h
196 saa.o: saa.c compiler.h config.h nasmlib.h saa.h
197 stdscan.o: stdscan.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \
198  quote.h regs.h stdscan.h tokens.h version.h
199 strfunc.o: strfunc.c compiler.h config.h insnsi.h nasm.h nasmlib.h regs.h \
200  version.h
201 sync.o: sync.c compiler.h config.h nasmlib.h sync.h
202 tokhash.o: tokhash.c compiler.h config.h hashtbl.h insns.h insnsi.h nasm.h \
203  nasmlib.h regs.h tokens.h version.h