1# GNU Makefile for hexen2 pak 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
13PAKX:=pakx
14PAKLIST:=paklist
15
16# Compiler flags
17CC       = vc
18LINKER   = $(CC)
19
20CFLAGS  = -O1 -speed -c99 -cpu=68020 -fpu=68881
21CFLAGS += -D__AMIGA__
22CFLAGS += -DNDEBUG=1
23INCLUDES= -I. -I$(COMMONDIR) -I$(UHEXEN2_SHARED)
24# for extra missing headers
25INCLUDES+=-I$(OSLIBS)/amigaos/vbcc/include -I$(OSLIBS)/amigaos/include
26LDFLAGS = -L$(OSLIBS)/amigaos/vbcc/lib
27LDLIBS  = -lm881
28
29# Other build flags
30
31# Targets
32all : $(PAKX) $(PAKLIST)
33
34# Rules for turning source files into .o files
35%.o: %.c
36	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
37%.o: $(COMMONDIR)/%.c
38	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
39%.o: $(UHEXEN2_SHARED)/%.c
40	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
41
42# Objects
43OBJ_COMMON= qsnprint.o \
44	strlcat.o \
45	strlcpy.o \
46	cmdlib.o \
47	util_io.o \
48	crc.o \
49	q_endian.o \
50	byteordr.o \
51	pakfile.o
52OBJ_PAKX= pakx.o
53OBJ_PAKL= paklist.o
54
55$(PAKX): $(OBJ_COMMON) $(OBJ_PAKX)
56	$(LINKER) $(OBJ_COMMON) $(OBJ_PAKX) $(LDFLAGS) $(LDLIBS) -o $@
57
58$(PAKLIST): $(OBJ_COMMON) $(OBJ_PAKL)
59	$(LINKER) $(OBJ_COMMON) $(OBJ_PAKL) $(LDFLAGS) $(LDLIBS) -o $@
60
61clean:
62	rm -f *.o core
63distclean: clean
64	rm -f $(PAKX) $(PAKLIST)
65
66