Makefile #11

  • //
  • guest/
  • craig_mcpheeters/
  • jam/
  • src/
  • Makefile
  • View
  • Commits
  • Open Download .zip Download (2 KB)
# Makefile for jam

CC = cc
CFLAGS =
EXENAME = ./jam0
TARGET = -o $(EXENAME)

# Special flavors - uncomment appropriate lines

# NCR seems to have a broken readdir() -- use gnu
#CC = gcc

# AIX needs -lbsd, and has no identifying cpp symbol
# Use _AIX41 if you're not on 3.2 anymore.
#LINKLIBS = -lbsd
#CFLAGS = -D_AIX

# NT (with Microsoft compiler)
# Use FATFS if building on a DOS FAT file system
#Lib = $(MSVCNT)/lib
#Include = $(MSVCNT)/include
#CC = cl /nologo
#CFLAGS = -I $(Include) -DNT 
#TARGET = /Fejam0
#LINKLIBS = $(Lib)/oldnames.lib $(Lib)/kernel32.lib $(Lib)/libc.lib
#EXENAME = .\jam0.exe

# NT (with Microsoft compiler)
# People with DevStudio settings already in shell environment.
#CC = cl /nologo
#CFLAGS = -DNT 
#TARGET = /Fejam0
#EXENAME = .\jam0.exe

# Interix - gcc
#CC = gcc

# Cygwin - gcc & cygwin
#CC = gcc
#CFLAGS = -D__cygwin__

# MingW32
#CC = gcc
#CFLAGS = -DMINGW

# MPEIX
#CC = gcc
#CFLAGS = -I/usr/include -D_POSIX_SOURCE

# QNX rtp (neutrino)
#CC = gcc

SOURCES = \
	builtins.c \
	command.c compile.c execunix.c execvms.c expand.c \
	filent.c fileos2.c fileunix.c filevms.c glob.c hash.c \
	headers.c hcache.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
	newstr.c option.c parse.c pathunix.c pathvms.c regexp.c \
	rules.c scan.c search.c timestamp.c variable.c w32_getreg.c

all: $(EXENAME)
	$(EXENAME)

$(EXENAME):
	$(CC) $(TARGET) $(CFLAGS) $(SOURCES) $(LINKLIBS)

# Avoid regeneration of jamgram stuff.
#    % p4 edit jamgram\*
#    % make touch
#    % p4 revert jamgram\*
#
touch:
	touch jamgram.yy
	touch jamgram.y
	touch jamgram.h
	touch jamgram.c
# Change User Description Committed
#11 3184 Craig Mcpheeters Integration of my recent work jam changes into my public mainline branch
#10 3181 Craig Mcpheeters Integration of the Jam mainline into my branch
#9 1604 Craig Mcpheeters Integration of rc1 from the mainline
#8 1471 Craig Mcpheeters Incorporation of two extensions from Matt Armstrong.
 W32_GETREG and
  the printing of the total time.  See the comments in Jamfile.config.
#7 1371 Craig Mcpheeters Integration from the jam mainline.
 Note, many of these are empty
  integrations, but I wanted to not leave any pending integrations
  into my branch.
#6 1353 Craig Mcpheeters Integration from the mainline.
#5 1086 Craig Mcpheeters Modified 'jam0' in the Makefile to './jam0'
Fixed a bug in my 'dynamic command size' extension.  It wasn't dealing
  with piecemeal targets properly
In execcmd(), reverted to 2.2 behaviour for the logic on NT of when
  to write a command to a .bat file, and when to invoke the shell
  directly.  The cmd.exe interpreter has limitations on how large the
  lines in it can be.  We were invoking rc.exe with a long command line,
  and it was failing when invoked via a .bat file
#4 1023 Craig Mcpheeters Integration from //guest/craig_mcpheeters/work/jam/src/...
This return incorporates all of the Alias|Wavefront extensions to
  Jam, into an area which is a proper branch of the Jam mainline.
  An integration of these files into the Jam mainline will show all
  of the differences.
There are several extensions to Jam in this return.  Look at the
  new file Jamfile.config for an explanation of the extensions, and
  how to compile them into your own copy of Jam.  If you want to
  build a copy of Jam with all of the extensions, do this:
    jam -sAllOptions=1
  Read the config file for more info.
The extensions range from minor output tweaks and simple fixes to
  more major things like a header cache, serialization of output from
  multiple jobs, dynamic command block sizing
These are all offered without warranty, etc.
#3 784 Craig Mcpheeters Integration from Jam mainline
#2 617 Craig Mcpheeters Integration from mainline as of @3
#1 616 Craig Mcpheeters Integration from Jam mainline, as of @2