+++ /dev/null
-################################################################
-# Start of Makefile
-################################################################
-
-# This rule goes first to make it the default choice
-default :: test
-
-CC = gcc
-
-CPPFLAGS += -I../includes
-CPPFLAGS += -D__HUGS__
-
-CFLAGS += -Wall
-CFLAGS += -W
-CFLAGS += -Wno-unused
-CFLAGS += -Wstrict-prototypes
-CFLAGS += -Wmissing-prototypes
-CFLAGS += -Wmissing-declarations
-#CFLAGS += -Wredundant-decls
-#CFLAGS += -Wnested-externs
-#CFLAGS += -Wshadow
-CFLAGS += -Winline
-CFLAGS += -Waggregate-return
-CFLAGS += -Wpointer-arith
-CFLAGS += -Wbad-function-cast
-#CFLAGS += -Wcast-qual
-#CFLAGS += -Wcast-align
-#CFLAGS += -Wconversion
-
-#CFLAGS += -ggdb3 -O0 # debug with gdb, minimal confusion
-#CFLAGS += -pg -O2 # Profile with gprof
-#CFLAGS += -pg -g # Profile more with gprof
-#CFLAGS += -pg -g -a # Profile basic blocks with gprof (disnae work)
-#CFLAGS += -O2 -g # Run it - but put a little debugging help in
-CFLAGS += -g -DDEBUG
-#CFLAGS += -O6 # Just run it
-
-C_FILES = $(wildcard *.c)
-S_FILES = $(wildcard *.S)
-HC_FILES = $(wildcard *.hc)
-
-LIBOBJS += $(patsubst %.c,%.o,$(C_FILES))
-LIBOBJS += $(patsubst %.S,%.o,$(S_FILES))
-LIBOBJS += $(patsubst %.hc,%.o,$(HC_FILES))
-
-LIBRARY = libHSrts.a
-
-%.o : %.c
- @echo Compiling $<
- @$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
-%.o : %.S
- @echo Compiling $<
- @$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
-%.o : %.hc
- @echo Compiling $<
- @ $(CC) $(CFLAGS) $(CPPFLAGS) -xc -c $< -o $@
-
-# We can build an archive
-$(LIBRARY): $(LIBOBJS)
- rm -f $@
- ar clqs $@ $^
-
-# Or we can build a shared library
-# (The shared library is nicer because it's linked with all the libs
-# that the rts depends on. But it has the problem that the bfd code
-# can't see the symbols defined in the library - though that may be easy
-# to fix.)
-$(LIBRARY:.a=.so): $(LIBOBJS)
- rm -f $@
- $(CC) -shared $^ -L$(HOME)/lib -lm -lbfd -liberty -o $@
-
-clean::
- $(RM) *.o *.a *.so
-veryclean :: clean
-tags:
- etags ../*/*.{c,h,hc,S}
-
-################################################################
-# Floppy disk for me to take home at night
-################################################################
-
-# We avoid using zip because we're fed up being bitten by the
-# default=non-recursive bug
-
-GHC_DIR = fptools/ghc
-TEST_DIR = $(GHC_DIR)/tests/rts
-RTS_DIR = $(GHC_DIR)/rts
-LIB_DIR = $(GHC_DIR)/lib
-GMP_DIR = $(GHC_DIR)/rts/gmp
-INC_DIR = $(GHC_DIR)/includes
-HUGS_DIR = $(GHC_DIR)/interpreter
-
-TARFILES += $(GHC_DIR)/CVS
-
-TARFILES += $(INC_DIR)/*.h
-TARFILES += $(INC_DIR)/CVS
-
-TARFILES += $(RTS_DIR)/*.{c,h,hc,S}
-TARFILES += $(RTS_DIR)/comments
-TARFILES += $(RTS_DIR)/adr
-TARFILES += $(RTS_DIR)/CVS
-
-TARFILES += $(TEST_DIR)/Makefile
-TARFILES += $(TEST_DIR)/.gdbinit
-TARFILES += $(TEST_DIR)/*.{c,h}
-TARFILES += $(TEST_DIR)/CVS
-
-TARFILES += $(GMP_DIR)
-
-TARFILES += $(LIB_DIR)/*/CVS
-TARFILES += $(LIB_DIR)/*/*.{lhs,hi-boot}
-TARFILES += $(LIB_DIR)/*/cbits/*.{c,h}
-
-TARFILES += $(HUGS_DIR)
-
-tarfile:
- cd ../../../$(GMP_DIR) && make clean
- cd ../../../$(HUGS_DIR) && make clean
- cd ../../..; tar zcvf rts.tgz $(TARFILES)
- ls -l ../../../rts.tgz
- echo todo: add unlit to tarfile
-
-floppy: tarfile
- mount /mnt/floppy
- - cp ../../../rts.tgz /mnt/floppy
- umount /mnt/floppy
-
-################################################################
-# Dependencies
-################################################################
-
-DEP_FILES += $(C_FILES:.c=.d)
-DEP_FILES += $(S_FILES:.S=.d)
-DEP_FILES += $(HC_FILES:.hc=.d)
-
-include $(DEP_FILES)
-
-#Copied from the gmake manual - builds a dependency file for every C file
-%.d : %.c
- @echo "Making dependency file $@"
- @$(SHELL) -ec '$(CC) -MM $(CPPFLAGS) $< \
- | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@ \
- ; [ -s $@ ] || rm -f $@'
-%.d : %.S
- @echo "Making dependency file $@"
- @$(SHELL) -ec '$(CC) -MM $(CPPFLAGS) $< \
- | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@ \
- ; [ -s $@ ] || rm -f $@'
-%.d : %.hc
- @echo "Making dependency file $@"
- @$(SHELL) -ec '$(CC) -MM $(CPPFLAGS) -xc $< \
- | sed '\''s/\($*\)\.hc\.o[ :]*/\1.o $@ : /g'\'' > $@ \
- ; [ -s $@ ] || rm -f $@'
-
-veryclean::
- $(RM) $(DEP_FILES)
-
-################################################################
-# End of Makefile
-################################################################