1#
2# a very simple Makefile for miniLZO
3#
4# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
5#
6
7PROGRAM = testmini
8SOURCES = testmini.c minilzo.c
9
10default:
11	@echo "Please choose one of the following targets:"
12	@echo "    gcc:   gcc"
13	@echo "    unix:  hpux hpux9"
14	@echo "    win32: win32-bc win32-cygwin win32-dm win32-lccwin32"
15	@echo "           win32-intelc win32-mingw win32-vc win32-watcomc"
16	@echo "    dos16: dos16-bc dos16-mc dos16-wc"
17	@echo "    dos32: dos32-djgpp2 dos32-wc"
18
19
20# Make sure that minilzo.h, lzoconf.h and lzodefs.h are in the
21# current dircectory. Otherwise you may want to adjust CPPFLAGS.
22##CPPFLAGS = -I../include/lzo -I.
23
24GCC_CFLAGS = -s -Wall -O2 -fomit-frame-pointer
25
26
27#
28# gcc (generic)
29#
30
31gcc:
32	gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM) $(SOURCES)
33
34cc:
35	cc $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
36
37
38#
39# UNIX
40#
41
42hpux:
43	cc -Ae $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
44
45hpux9:
46	cc -Aa -D_HPUX_SOURCE $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
47
48
49#
50# Windows (32-bit)
51#
52
53win32-borlandc win32-bc:
54	bcc32 -O2 -d -w -w-aus $(CPPFLAGS) $(SOURCES)
55
56win32-cygwin32 win32-cygwin:
57	gcc -mcygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
58
59win32-digitalmars win32-dm:
60	dmc -mn -o -w- $(CPPFLAGS) $(SOURCES)
61
62win32-intelc win32-ic:
63	icl -nologo -MD -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
64
65win32-lccwin32:
66	@echo "NOTE: need lcc 2002-07-25 or newer, older versions have bugs"
67	lc -A -unused -O $(CPPFLAGS) $(SOURCES)
68
69win32-mingw32 win32-mingw:
70	gcc -mno-cygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
71
72win32-visualc win32-vc:
73	cl -nologo -MD -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
74
75win32-watcomc win32-wc:
76	wcl386 -bt=nt -zq -mf -5r -zc -w5 -oneatx $(CPPFLAGS) $(SOURCES)
77
78
79#
80# DOS (16-bit)
81#
82
83dos16-borlandc dos16-bc:
84	bcc -ml -w -d -O -4 $(CPPFLAGS) $(SOURCES)
85
86dos16-microsoftc dos16-msc dos16-mc:
87	cl -nologo -f- -AL -O -G2 -W3 $(CPPFLAGS) $(SOURCES)
88
89dos16-watcomc dos16-wc:
90	wcl -zq -ml -bt=dos -l=dos -ox -w5 $(CPPFLAGS) $(SOURCES)
91
92
93#
94# DOS (32-bit)
95#
96
97dos32-djgpp2 dos32-dj2:
98	gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
99
100dos32-watcomc dos32-wc:
101	wcl386 -zq -mf -bt=dos -l=dos4g -5r -ox -zc $(CPPFLAGS) $(SOURCES)
102
103
104#
105# other targets
106#
107
108clean:
109	rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM).map $(PROGRAM).tds
110	rm -f *.err *.o *.obj
111
112.PHONY: default clean
113
114