source: trunk/src/os2ahci/wmakefile@ 25

Last change on this file since 25 was 24, checked in by markus, 15 years ago

for watcom build: use watcom calling convention as default, _cdecl where needed

  • Property svn:executable set to *
File size: 3.5 KB
Line 
1###############################################################################
2# wmakefile - makefile for os2ahci driver using WATCOM compiler
3#
4# Copyright (c) 2010 Christian Mueller, Markus Thielen.
5# Parts copied from/inspired by the Linux AHCI driver;
6# those parts are (c) Linux AHCI/ATA maintainers
7#
8# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
22
23###############################################################################
24# Environment
25
26# main path to OS/2 DDK; this needs to be set before this makefile will work
27!ifndef DDK
28DDK = i:\ddk
29!endif
30
31# main path to WATCOM installation
32!ifndef WATCOM
33WATCOM = i:\watcom
34!endif
35
36CC_INCLUDE = -I..\include \
37 -I$(DDK)\base\src\dev\dasd\diskh \
38 -I$(DDK)\base\h \
39 -I$(DDK)\base\ibmh \
40 -I$(WATCOM)\h
41
42AS_INCLUDE = -I:$(DDK)\base\inc \
43 -I:$(DDK)\base\src\dev\dasd\diskinc
44
45LIB_DIRS = $(DDK)\base\lib\ \
46 $(DDK)\base\src\dev\dasd\devhlp\ \
47
48
49###############################################################################
50# Tool Chain
51#
52# This makefile uses the Watcom 16bit compiler.
53# Linker and assembler are link.exe and alp.exe that ship with the OS/2 DDK
54#
55
56AS = $(DDK)\tools\alp.exe
57CC = wcc
58LD = $(DDK)\base\tools\link.exe
59
60AFLAGS = -Mb
61CFLAGS = -d3 -hc -bt=os2 -ms -zu -5 -w2 -wcd=138 -zp1 -q -s -zgp -zfp -oi
62CFLAGS_DEBUG = -d3 -hc
63LFLAGS = /noe /nod /packd /a:16 /batch /map /line
64
65###############################################################################
66# Main dependencies
67
68TARGET = os2ahci.add
69
70LIBS = addcalls doscalls rmcalls # dhcalls not needed, see local devhelp.h
71
72SRCS = init.asm math.asm libc.c os2ahci.c pci.c ahci.c ata.c atapi.c \
73 ctxhook.c
74
75OBJS = init.obj libc.obj os2ahci.obj pci.obj ahci.obj ata.obj atapi.obj \
76 ctxhook.obj
77
78INCS = os2ahci.h ahci.h
79
80
81all: $(TARGET)
82
83clean:
84 rm -f $(OBJS) $(TARGET)
85
86###############################################################################
87# Object/source dependencies
88
89init.obj: init.asm wmakefile
90
91libc.obj: libc.c wmakefile $(INCS)
92
93os2ahci.obj: os2ahci.c wmakefile $(INCS)
94
95pci.obj: pci.c wmakefile $(INCS)
96
97ahci.obj: ahci.c wmakefile $(INCS) ata.h atapi.h
98
99ata.obj: ata.c wmakefile $(INCS) ata.h
100
101atapi.obj: atapi.c wmakefile $(INCS) ata.h atapi.h
102
103ctxhook.obj: ctxhook.c wmakefile $(INCS) ata.h atapi.h
104
105###############################################################################
106# Action definitions (compile/link commands)
107
108.asm.obj:
109 $(AS) $(AFLAGS) $(AS_INCLUDE) $*.asm
110
111.c.obj:
112 $(CC) $(CFLAGS) $(CC_INCLUDE) $*.c
113 wdis -l $*.obj
114
115$(TARGET): $(OBJS) os2ahci.def wmakefile
116 $(LD) $(LFLAGS) $(OBJS),$(TARGET),$*.map,$(LIB_DIRS) $(LIBS),$*.def
117 mapsym os2ahci
118
119
Note: See TracBrowser for help on using the repository browser.