How to use Makefile
1. Writing a script file for compilation
Below is an example script file written to compile C files and Pro*c files.
#!/bin/ksh # program compile # #main Param=$1 case "$Param" in c) export COMP_TARGET=$2 make -f Makefile.c;; pc) export COMP_TARGET=$2 make -f Makefile.pc all;; clean) make -f Makefile.pc clean;; *) echo "Usage: $0 argument";; esac
2. Writing a Makefile
Below is an example Makefile written to compile a C file.
<Makefile.c>
# Server makefile TARGET = $(COMP_TARGET) APOBJS = $(TARGET).o LIBS = -laps OBJS = $(APOBJS) $(SDLOBJ) $(SVCTOBJ) SVCTOBJ = $(TARGET)_svctab.o CFLAGS = -O -I$(WEBTOBDIR) APPDIR = $(WEBTOBDIR)/ap SVCTDIR = $(WEBTOBDIR)/svct LIBDIR = $(WEBTOBDIR)/lib .SUFFIXES : .c .c.o: $(CC) $(CFLAGS) -c $< $(TARGET): $(OBJS) $(CC) $(CFLAGS) -L$(LIBDIR) -o $(TARGET) $(OBJS) $(LIBS) rm -f $(OBJS) $(APOBJS): $(TARGET).c $(CC) $(CFLAGS) -c $(TARGET).c $(SVCTOBJ): touch $(SVCTDIR)/$(TARGET)_svctab.c $(CC) $(CFLAGS) -c $(SVCTDIR)/$(TARGET)_svctab.c clean: -rm -f *.o core $(TARGET)
Here’s how to compile the Makefile:
$compile c “C file name without extention”