帮我提供以上编译模块功能中的三个Makefile文件
时间: 2024-02-26 17:58:31 浏览: 24
好的,以下是三个Makefile文件的示例:
Makefile 1:用于编译C语言文件
```
CC = gcc
CFLAGS = -Wall -g
TARGET = my_program
SRCS = main.c file1.c file2.c
OBJS = $(SRCS:.c=.o)
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(OBJS) $(TARGET)
```
Makefile 2:用于编译C++语言文件
```
CXX = g++
CXXFLAGS = -Wall -g
TARGET = my_program
SRCS = main.cpp file1.cpp file2.cpp
OBJS = $(SRCS:.cpp=.o)
all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) -o $@ $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
clean:
rm -f $(OBJS) $(TARGET)
```
Makefile 3:用于编译Java语言文件
```
JC = javac
TARGET = MyProgram
SRCS = Main.java File1.java File2.java
OBJS = $(SRCS:.java=.class)
all: $(TARGET)
$(TARGET): $(OBJS)
echo "Main-Class: Main" > manifest.txt
jar cvfm $(TARGET).jar manifest.txt $(OBJS)
%.class: %.java
$(JC) $<
clean:
rm -f $(OBJS) $(TARGET).jar manifest.txt
```