1# GNU Makefile for hexen2 mapping tools for m68k-amigaos using VBCC.
2#
3
4# Path settings:
5UHEXEN2_TOP:=../..
6UTILS_TOP:=..
7COMMONDIR:=$(UTILS_TOP)/common
8UHEXEN2_SHARED:=$(UHEXEN2_TOP)/common
9LIBS_DIR:=$(UHEXEN2_TOP)/libs
10OSLIBS:=$(UHEXEN2_TOP)/oslibs
11
12# Names of the binaries
13BINARY:=dhcc
14
15# Compiler flags
16CC       = vc
17LINKER   = $(CC)
18
19CFLAGS  = -O1 -speed -c99 -cpu=68020 -fpu=68881
20CFLAGS += -D__AMIGA__
21CFLAGS += -DNDEBUG=1
22INCLUDES= -I. -I$(COMMONDIR) -I$(UHEXEN2_SHARED)
23# for extra missing headers
24INCLUDES+=-I$(OSLIBS)/amigaos/vbcc/include -I$(OSLIBS)/amigaos/include
25LDFLAGS = -L$(OSLIBS)/amigaos/vbcc/lib
26LDLIBS  = -lm881
27
28# Other build flags
29
30# Targets
31all : $(BINARY)
32
33# Rules for turning source files into .o files
34%.o: %.c
35	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
36%.o: $(COMMONDIR)/%.c
37	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
38%.o: $(UHEXEN2_SHARED)/%.c
39	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
40
41# Objects
42OBJECTS= qsnprint.o \
43	strlcat.o \
44	strlcpy.o \
45	cmdlib.o \
46	util_io.o \
47	q_endian.o \
48	byteordr.o \
49	crc.o \
50	dcc.o \
51	hcc.o \
52	pr_comp.o \
53	pr_lex.o
54
55$(BINARY): $(OBJECTS)
56	$(LINKER) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $@
57
58clean:
59	rm -f *.o core
60distclean: clean
61	rm -f $(BINARY)
62
63