source: trunk/src/os2ahci/wmakefile@ 42

Last change on this file since 42 was 28, checked in by markus, 15 years ago

added bldlevel signature creation to WATCOM build

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