1# Makefile for jam
2
3CC = cc
4CFLAGS = -O
5EXENAME = ./jam0
6TARGET = -o $(EXENAME)
7HOST_SYSTEM=$(shell uname)
8
9# Special flavors - uncomment appropriate lines
10
11# NCR seems to have a broken readdir() -- use gnu
12#CC = gcc
13
14# AIX needs -lbsd, and has no identifying cpp symbol
15# Use _AIX41 if you're not on 3.2 anymore.
16#LINKLIBS = -lbsd
17#CFLAGS = -D_AIX
18
19# NT (with Microsoft compiler)
20# Use FATFS if building on a DOS FAT file system
21#Lib = $(MSVCNT)/lib
22#Include = $(MSVCNT)/include
23#CC = cl /nologo
24#CFLAGS = -I $(Include) -DNT 
25#TARGET = /Fejam0
26#LINKLIBS = $(Lib)/oldnames.lib $(Lib)/kernel32.lib $(Lib)/libc.lib
27#EXENAME = .\jam0.exe
28
29# NT (with Microsoft compiler)
30# People with DevStudio settings already in shell environment.
31#CC = cl /nologo
32#CFLAGS = -DNT 
33#TARGET = /Fejam0
34#EXENAME = .\jam0.exe
35
36# Interix - gcc
37#CC = gcc
38
39# Cygwin - gcc & cygwin
40#CC = gcc
41#CFLAGS = -D__cygwin__
42
43# MingW32
44#CC = gcc
45#CFLAGS = -DMINGW
46
47# MPEIX
48#CC = gcc
49#CFLAGS = -I/usr/include -D_POSIX_SOURCE
50
51# QNX rtp (neutrino)
52#CC = gcc
53
54# BeOS (R5 only, actually, but who cares)
55ifeq ($(HOST_SYSTEM), BeOS)
56	ifeq ($(shell sh -c "strings /system/lib/libroot.so | grep uname"), )
57		LINKLIBS = -lnet
58	endif
59endif
60
61SOURCES = \
62	builtins.c \
63	command.c compile.c execunix.c execvms.c expand.c \
64	filent.c fileos2.c fileunix.c filevms.c glob.c hash.c \
65	headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
66	newstr.c option.c parse.c pathunix.c pathvms.c regexp.c \
67	rules.c scan.c search.c timestamp.c variable.c
68
69all: $(EXENAME)
70	LINKLIBS=$(LINKLIBS) $(EXENAME)
71
72$(EXENAME):
73	$(CC) $(TARGET) $(CFLAGS) $(SOURCES) $(LINKLIBS)
74