source: trunk/src/os2ahci/wmakefile@ 105

Last change on this file since 105 was 43, checked in by markus, 15 years ago

removed unused local vars

  • Property svn:executable set to *
File size: 3.9 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\h \
38 -I$(DDK)\base\ibmh \
39 -I$(DDK)\base\src\dev\dasd\diskh \
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
59BLDLEVEL = cmd.exe /c ..\..\tools\bldlvl.cmd
60BLDDATE = cmd.exe /c ..\..\tools\blddate.cmd
61MAPSYM = $(DDK)\base\tools\mapsym.exe
62
63AFLAGS = -Mb
64CFLAGS = -d3 -hc -bt=os2 -ms -zu -5 -w2 -wcd=138 -zp1 -q -s -zgp -zfp -oi
65CFLAGS_DEBUG = -d3 -hc
66LFLAGS = /noe /nod /packd /a:16 /batch /map /line
67
68###############################################################################
69# Main dependencies
70
71TARGET = os2ahci.add
72
73LIBS = addcalls doscalls rmcalls # dhcalls not needed, see local devhelp.h
74
75SRCS = init.asm math.asm libc.c os2ahci.c pci.c ahci.c ata.c atapi.c \
76 ctxhook.c
77
78OBJS = init.obj libc.obj os2ahci.obj pci.obj ahci.obj ata.obj atapi.obj \
79 ctxhook.obj
80
81INCS = os2ahci.h ahci.h version.h
82
83
84all: $(TARGET)
85
86clean:
87 rm -f $(OBJS) $(TARGET)
88
89###############################################################################
90# Object/source dependencies
91
92init.obj: init.asm wmakefile
93
94libc.obj: libc.c wmakefile $(INCS)
95
96os2ahci.obj: os2ahci.c wmakefile $(INCS) bldday.h
97
98pci.obj: pci.c wmakefile $(INCS)
99
100ahci.obj: ahci.c wmakefile $(INCS) ata.h atapi.h
101
102ata.obj: ata.c wmakefile $(INCS) ata.h
103
104atapi.obj: atapi.c wmakefile $(INCS) ata.h atapi.h
105
106ctxhook.obj: ctxhook.c wmakefile $(INCS) ata.h atapi.h
107
108###############################################################################
109# Action definitions (compile/link commands)
110
111# emacs TAGS file creation
112# NOTE: OS/2 emacs etags.exe expects an empty file named c:\dev\null...
113tags: $(SRCS) $(INCS)
114 etags.exe $(SRCS) $(INCS)
115
116bldday.h:
117 $(BLDDATE) > bldday.h
118
119.asm.obj:
120 $(AS) $(AFLAGS) $(AS_INCLUDE) $*.asm
121
122.c.obj:
123 $(CC) $(CFLAGS) $(CC_INCLUDE) $*.c
124 wdis -l $*.obj
125
126$(TARGET): $(OBJS) os2ahci.def wmakefile
127 $(BLDLEVEL) os2ahci.def version.h
128 $(LD) $(LFLAGS) $(OBJS),$(TARGET),$*.map,$(LIB_DIRS) $(LIBS),$*.def
129 mapsym os2ahci
130
131
Note: See TracBrowser for help on using the repository browser.