Skip to content
Snippets Groups Projects
Commit 9b3bbd28 authored by Simon Marlow's avatar Simon Marlow
Browse files

[project @ 2000-04-27 10:09:01 by simonmar]

remove unused cruft
parent b3307aa0
No related merge requests found
################################################################
# 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
################################################################
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment